GithubHelp home page GithubHelp logo

org-now's Introduction

org-now

This package provides commands to conveniently show Org headings in a sidebar window while you’re working on them. A heading in one of your Org files is defined as the “now” heading, and other headings are refiled to it with one command, and back to their original location with another.

The sidebar window is an indirect buffer created with org-tree-to-indirect-buffer, so you can work in it as you would a normal buffer. Being a special Emacs side window, it’s persistent, resisting being closed by accident by window management commands.

Note that this package adds Org UUIDs to entries in property drawers when they are refiled, to ensure they are tracked properly while they’re being moved.

Screenshots

There’s nothing special about the appearance of this package’s functionality. But here are two example screenshots.

By default, the sidebar’s outline is shown at level 2, so the “now” heading should be a top-level heading: images/screenshot1.png

The sidebar is just an Org buffer, so you can expand it, type into it, etc: images/screenshot2.png

Installation

Install these required packages:

Then put org-now.el in your load-path, and put this in your init file:

(require 'org-now)

Usage

  1. Run the command org-now to show the sidebar, or select its window if it’s already open. (On first run, you’ll be prompted to configure the org-now-location setting to point to a place in one of your Org files where you want to temporarily refile “now” tasks.)
  2. Refile tasks to the “now” buffer with the command org-now-refile-to-now.
  3. Move tasks back to their original location with the command org-now-refile-to-previous-location.

Here’s a configuration with mnemonic keybindings that you may find convenient, using use-package and general:

(use-package org-now
  :general (:keymaps 'org-mode-map
                     :prefix "M-SPC"
                     "rn" #'org-now-refile-to-now
                     "rp" #'org-now-refile-to-previous-location))

Hook examples

The org-now-hook option can be used to run user-defined functions after the org-now buffer is created. Here are two examples you might find useful.

Disable mode-line
If you don’t need or want the mode-line in the sidebar window, this function will disable it. In this case, it’s recommended to use something like real-auto-save-mode in Org buffers to ensure that refiled headings are automatically saved to disk.
(lambda ()
  (setq mode-line-format nil))
Set org-level-1 heading to 10 point size
This is helpful when your org-now-location is a file, in which case headings will be top-level headings. This function can be used to reduce the font size so the headings fit better in the sidebar window. It works especially well if your org-level- faces each inherit from their higher-level face (i.e. org-level-2 inherits from org-level-1, etc.).
(lambda ()
  (face-remap-add-relative 'org-level-1 '(:height 100)))

Development

Bug reports, feature requests, suggestions — oh my!

License

GPLv3

org-now's People

Contributors

alphapapa avatar

Watchers

Thomas Cordival avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.