Code Monkey home page Code Monkey logo

org-sidebar's Introduction

org-sidebar

https://melpa.org/packages/org-sidebar-badge.svg

This package presents helpful sidebars for Org buffers. Sidebars are customizable using org-ql queries and org-super-agenda grouping.

The default sidebar includes a chronological list of scheduled and deadlined items in the current buffer (similar to the Org agenda, but without all its features) at the top, and a list of all other non-done to-do items below. If the buffer is narrowed, the sidebar only shows items in the narrowed portion; this allows seeing an overview of tasks in a subtree.

images/screenshot.png

The tree-view sidebar aids navigating an outline and editing entries individually:

images/tree2.gif

Contents

Installation

MELPA

If you installed from MELPA, you’re done!

Quelpa

Installing with Quelpa is easy:

  1. Install quelpa-use-package (which can be installed directly from MELPA).
  2. Add this form to your init file:
(use-package org-sidebar
  :quelpa (org-sidebar :fetcher github :repo "alphapapa/org-sidebar"))

You may find this function helpful for updating packages with Quelpa.

Usage

Call these commands to display sidebars:

  • org-sidebar-tree: Display tree-view sidebar for current Org buffer.
    • org-sidebar-tree-toggle: Toggle tree-view sidebar.
  • org-sidebar: Display the default item sidebars for the current Org buffer.
    • org-sidebar-toggle: Toggle default sidebars.

Customization

Customization options are in the org-sidebar group. For example, you can add the tree view to the default sidebar:

images/sidebar-with-tree.png

Showing theme doom-one-light.

Or you can display the tree sidebar on one side, and the item sidebars on the other:

images/tree-and-item-sidebars.png

Showing theme doom-opera-light.

Advanced

To display custom-defined sidebars, call the function org-sidebar with the arguments described in its docstring. See examples in examples.org, as well as the definitions of functions org-sidebar--todo-items and org-sidebar--upcoming-items.

Commands

org-sidebar-tree

images/tree.gif

Demo recorded using packages =org-sticky-header=, =org-bullets=, and theme =doom-city-lights=.

In the tree buffer, the keymap org-sidebar-tree-map is used, which is based on org-mode-map (so you can use Org keybindings to manipulate nodes), and has these additional bindings by default:

  • <S-tab>: Cycle global node visibility.
  • <tab>: Toggle visibility of child nodes.
  • <mouse-2>: Toggle visibility of child nodes.
  • <mouse-1>: Jump to heading using default jump function; or, if heading stars are clicked, toggle visibility of child nodes.
  • <return>: Jump to heading using default jump function (adding universal prefix arguments to display more subtree content, corresponding with the click-and-drag mouse events below).

Dragging-and-releasing with mouse buttons (as opposed to clicking and releasing at a single position) shows additional subtree and entry content:

  • <drag-mouse-1>: Jump to heading using default jump function, and also show all descendant headings.
  • <drag-mouse-2>: Jump to heading using default jump function, and also show all descendant headings and their entry text.

If you prefer, you may customize org-sidebar-tree-jump-fn to jump to entries in their source buffer rather than indirect buffers.

org-sidebar-tree-toggle

Toggle the tree sidebar.

Item sidebars

These commands display item sidebars, which display Org entries gathered with org-ql.

Key bindings: In an item sidebar buffer, these keys are bound:

  • RET, mouse-1: Jump to an item in its buffer.
  • g: Update the sidebar.
  • q: Hide the sidebar.

org-sidebar (fns)

Interactively, display the sidebars configured in org-sidebar-default-fns.

  • FNS may be one or a list of functions, each of which should return a buffer to be displayed in a sidebar window.

org-sidebar-toggle

Toggle the default item sidebars.

org-sidebar-ql (&key query buffers-files narrow group-property sort)

Display a sidebar for org-ql QUERY. Interactively, with prefix, prompt for these variables:

  • BUFFERS-FILES: A list of buffers and/or files to search.
  • NARROW: When non-nil, don’t widen buffers before searching.
  • GROUP-PROPERTY: One of the following symbols: category, parent, priority, todo.
  • SORT: One or a list of org-ql sorting functions, like date or priority.

org-sidebar-backlinks

Show sidebar with entries that link to the current entry. The entry must have an ID or CUSTOM_ID property; links to the heading text are not found. Note that searching for links to entries that have both ID and CUSTOM_ID properties set is much slower than searching for links to entries with just one of those properties.

Changelog

0.5-pre

Org v9.6 or later is now required.

0.4

Additions

  • Option org-sidebar-window-after-display-hook.

Changes

  • Use org-ql-view for sidebar buffers instead of bespoke implementation.
  • org-sidebar now accepts only a FNS argument, and sidebars are not defined with structs. Some functionality may have been temporarily lost due to this refactoring. Users may wish to use version 0.3 until it is restored.
  • Set mode-line-format as a window parameter in sidebar windows rather than setting the buffer-local variable in sidebar buffers.

Fixes

  • TAB binding in org-sidebar-tree-map.

Thanks

0.3.2

Fixed

  • Command org-sidebar-tree-toggle didn’t always toggle the tree sidebar off. (Fixes #34. Thanks to Matt Price and mkb6 for reporting.)

0.3.1

Fixed

  • Exclude pre-heading content from tree buffer. (Issue #23. Thanks to @yuchen-lea for reporting.)

0.3

Added

  • Commands org-sidebar-toggle and org-sidebar-tree-toggle, which toggle the respective sidebars on/off.

0.2

Extensive refactoring and improvements.

Added

  • Tree-view sidebar, helpful for navigating large outline trees. See documentation.

0.1

First tagged version.

Notes

This was inspired by this /r/Emacs post, which was inspired by Organized for Atom.

License

GPLv3.

org-sidebar's People

Contributors

alphapapa avatar basil-conto avatar benmoon avatar egh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

org-sidebar's Issues

Cycling causes freeze/crash

To replicate, open org-sidebar-tree, create a new heading in main document, write some text under it, switch to the sidebar, then visibility-cycle with Shift-Tab. Emacs will freeze.

possible to change todo state in sidebar?

if it were possible to change the todo state of an item in the sidebar, that would really increase the value for me! But it doesn't seem like that is easily available give nthe construction of htose buffers (from what I can tell).

org-sidebar-refresh doesn't work

org-sidebar-refresh at the moment doesn't work on the master branch because it refers to org-sidebar-display-buffers which doesn't exists.

I think the right variable there is org-sidebar-sidebar-buffers and I guess the original intention was to refactor org-sidebar-sidebar-buffers into org-sidebar-display-buffers.

Can't use tab complete in helm find files when org-sidebar is active

When org-sidebar is active, tab completion in helm find files returns this error message:

split-window: Cannot split side window or parent of side window

This happens even if point is not in the sidebar.

Closing the sidebar restores the expected tab completion behavior.

Let me know if you have questions.

org-sidebar: Symbol’s function definition is void: make-org-sidebar

In the examples given in https://github.com/alphapapa/org-sidebar/blob/master/examples.org , make-org-sidebar function is used to create a sidebar. I am getting error while using the function. Could you please update the example.org file with updates

Error is

org-sidebar: Symbol’s function definition is void: make-org-sidebar

If I use the example

(defun my/org-sidebar ()
"Display my Org Sidebar."
(interactive)
(org-sidebar
:sidebars (make-org-sidebar
:name "My Sidebar"
:description "My sidebar items"
:items (org-ql (org-agenda-files)
(and (not (done))
(or (deadline auto)
(scheduled :on today)))
:action element-with-markers))))

= George

melpa installation fails

Assuming I have this:

  (use-package org-sidebar
    :ensure t
    :commands (org-sidebar))

I have this error when I execute it:

Error (use-package): Failed to install org-sidebar: Package ‘org-ql-agenda-0’ is unavailable

the quelpa base installation works without any problem :)

How to have sidebar tree be read-only by default?

Thanks for this great package! It helps me a lot.

Unfortunately, I keep accidentally typing in the indirect sidebar tree buffer and making unintended changes.

Is there a way I can make the sidebar tree be read-only-mode by default? I'm not sure how I would go about doing this.

Examples are obsolete

I tried the first example from example.org my/org-sidebar, but I get this error:
Symbol's definition is void: make-org-sidebar

Is there an unspecified dependency for that macro/function?

org-sidebar version 20200501.1215
org version 9.2.6
Emacs version 26.3

Error with backlinks when org-agenda-files is a file containing the agenda files list

Hi,
First of all, thanks for this very useful package. I am very interested by the recent addition of org-sidebar-backlinks for my Zettelkasten implementation. I am experiencing an issue. If I use

(setq org-agenda-files (quote ("~/org/admin.org" ~/org/zettels.org")))

the org-sidebar-backlinks works fine. However, if I do:
(setq org-agenda-files "~/org/agenda-files.org")

where "~/org/agenda-files.org" is a file containing the list of my agenda files, I get an error like this:

mapcar: Wrong type argument: stringp, 47

In order to check that there is no problem with other things in my config, I have run this with

emacs -Q -l test-init.el

where test-init.el is

(setq package-enable-at-startup nil)
(package-initialize)
(require 'org)
(require 'ob-tangle)

(require 'org-ql)
(require 'org-sidebar)
(require 'org-ql-view)
(require 'org-ql-search)
(require 'org-super-agenda)
(setq org-agenda-files "~/org/agenda-files.org")

Any help would be appreciated.

Thanks.

Posibility to exclude some headlines by tags

Thanks for this impressive package. I use it a lot in my daily life.

I use org-drill a lot, so my org file is full of drill headlines, of course with its according deadline keyword. When I call org-sidebar-toggle, those headlines all go to the up-coming buffer, which should not be included basically, since they are not always related to any todo works.

So I would like to request a new feature to support any exclusion of specific headlines, like using org-tags?

Thanks if you can offer some ideas.

org-sidebar must be called before org-sidebar-backlinks?

When I call org-sidebar-backlinks before calling org-sidebar, I get the error message org-sidebar-backlinks: Symbol’s function definition is void: org-ql-search-directories-files.

Is this expected behavior? It doesn't seem to be documented and can be confusing.

Sidebar-tree font

Is it possible to set the font of the sidebar-tree separately from the main buffer?

Can't navigate sidebar tree with <return>

I'm using org-sidebar in a new Doom installation and am having a problem navigating in the org-sidebar-tree. When I navigate in the tree and press , nothing happens. But when I click with my mouse, navigation occurs normally. I've enabled command-log-mode to see what's happening, and when I enter the "+org/dwim-at-point" function runs (and doesn't do anything). When I click with my mouse, "org-sidebar-tree-jump-mouse" runs. If I go into the tree sidebar and manually (M-x) run "org-sidebar-tree-jump" I get the desired result. So do I need to specially bind that function to ? And if so how do I do that only in the tree sidebar? Looking at the org-sidebar.el source at line 370 (https://github.com/alphapapa/org-sidebar/blob/master/org-sidebar.el), it looks like should already be bound to org-sidebar-tree-jump?

I'm new to Emacs, so apologies in advance for silly questions.

Headline face control

It would be useful to be able to control the faces used for headlines, as when using different font sizes, the result looks awful in the sidebars.

are examples in `examples.org` still correct?

examples in examples.org do not work for me out of the box, and it also seems that they refer to a non-existent make-org-sidebar function while also giving a named :sidebars argument to org-sidebar, which does not seem to want such an argument.

Looking back in git history, it sort of seems that this was how org-sidebar used to work, but that it's changed a lot since then.

Wouldl ove some up to date versions ofhtese ommands if you have them lying around!

Thanks,

matt

*Compile-Log* warning on on 28.0.50 nativecomp

I'm running 28.0.50 with nativecomp () and have org-sidebar installed with (use-package org-sidebar). On startup I get the following *Compile-Log* warning:
Warning (bytecomp): pcase pattern `(,(or 'tags-inherited 'inherited-tags 'tags-i 'itags)) shadowed by previous pcase pattern

Running M-x version gives me the following: GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2021-04-09

Inconsistency of todo keyword faces when faces defined as local variables

org-sidebar uses the global todo keyword faces. Faces defined in file seems not used rightly in org-sidebar.
You can reproduce the problem by using the following example. Thanks.

#+TITLE:TODO keyword face problems

* TODO task 1

** TODO a child task
SCHEDULED: <2020-12-27 Sun>

** TODO another child task
SCHEDULED: <2020-12-28 Mon>

* NEXT Task 2
SCHEDULED: <2020-12-29 Tue>

* DONE Task 3
DEADLINE: <2020-12-30 Wed>


#+TODO: TODO(t) NEXT(n) | DONE(d)
# Local Variables:
# org-todo-keyword-faces: (("todo" . "red") ("NEXT" . "pink") ("DONE" . "green"))
# End:

image

Backlinks not working

org-sidebar-backlinks is not working as expected. Instead of showing Entry 2 as a backlink for Entry 1, the list of backlinks is empty for the following example:

* Entry 1
:PROPERTIES:
:CUSTOM_ID: entry1
:END:

* Entry 2
:PROPERTIES:
:CUSTOM_ID: entry2
:END:

[[#entry1]]

Render org-entities?

It would be nice if org-entities were rendered in the sidebar.

I took a look at org-ql-view--format-element (element) to see if I might think about customizing this, but it looks like a lot of work for someone with way more elisp than I have!

Screenshot from 2019-10-02 06-57-09

tree-sidebar: Text inserted into entries appears in sidebar

See https://github.com/alphapapa/org-sidebar/blob/master/notes.org#maybe-a-use-font-locking-to-hide-non-heading-text-in-tree-buffer

Here's a function that modifies the font-lock keywords to attempt this. It almost works, although it doesn't seem to take effect in an Org buffer unless I use font-lock-studio, then the keywords are applied again. (Even (font-lock-flush) doesn't seem to force it.) Also, typing more text afterward does not make the new text invisible, even though it should. So maybe this could be a starting point, but it doesn't seem as easy as I hoped, and it seems like a lot of trial-and-error is required.

(defun test-font-lock-keywords ()
  (setq-local argh-invisible '(face font-lock-warning-face invisible t))
  (setq-local argh-visible '(face font-lock-warning-face invisible nil))
  (let ((keywords (list (cons (rx bol (or blank (seq "*" (1+ (not blank)))
                                          (not (any "*")))
                                  (1+ not-newline) eol)
                              'argh-invisible)
                        (cons (rx bol (1+ blank) eol)
                              'argh-invisible)
                        (cons (rx bol eol)
                              'argh-invisible)
                        (cons (rx bol (1+ "*") (1+ blank) (minimal-match (1+ not-newline)) eol)
                              'argh-visible)
                        )))
    (font-lock-add-keywords nil keywords 'append)
    (set (make-local-variable 'font-lock-extra-managed-props)
         (cons 'invisible font-lock-extra-managed-props))))

Org File Confusion

Suppose I have two empty headings in the sidebar tree

* Heading 1
* Heading 2

Click on heading 1 and the heading appears in the main buffer

* Heading 1

Start typing beneath the heading in the main buffer

* Heading 1
Some text

The tree view now looks like this
* Heading 1
some text* Heading 2

The org file is now corrupted.

Sidebar does not open if body-text is not wide enough

Hi! Thank you for the great package, I've found it very useful so far. I've come across a rather strange issue however.

I like to use olivetti-mode to make org-buffers somewhat "narrower" (different than narrowing the buffer) to make it nicer to write in, like so
image

However, when this is active, neither org-sidebar nor org-sidebar-toggle do anything. It does run, as it toggles truncate-lines
image
If I turn it off it works just as you'd expect.
image

The issue does not seem to be with any specific olivetti-mode implementation, but with the fact that it changes the width of the margins/fringes/text. In fact, when I set the character width of olivetti-mode > 110 characters, the sidebar appears.
image

Do you know how I could fix this? I've tried to understand why this happens by looking at org-sidebar.el, but no luck so far. There do seem to be checks for the narrowness of buffers, but if I understand correctly this has little to do with the width of the buffer-text.

Thanks in advance!

PS. Amazing that you managed to split side-windows, I struggled for a long time to do so and eventually gave up, but this made me realize it's possible!

error "Keyword argument :markers not one of (:sort :narrow :action)

Greetings when trying to use this package with the examples provided I get this error.

Debugger entered--Lisp error: (error "Keyword argument :markers not one of (:sort :narro...")
  signal(error ("Keyword argument :markers not one of (:sort :narro..."))
  error("Keyword argument %s not one of (:sort :narrow :act..." :markers)
  #f(compiled-function (arg1 arg2 &rest rest) "Expands into a call to `org-ql-select' with the same arguments.\nFor convenience, arguments should be unquoted." #<bytecode 0x1575bec60f39>)((org-agenda-files) (and (not (done)) (or (deadline <=) (date = today))) :markers t)
  (org-ql (org-agenda-files) (and (not (done)) (or (deadline <=) (date = today))) :markers t)
  (make-org-sidebar :name "My Sidebar" :description "My sidebar items" :items (org-ql (org-agenda-files) (and (not (done)) (or (deadline <=) (date = today))) :markers t))
  (org-sidebar :sidebars (make-org-sidebar :name "My Sidebar" :description "My sidebar items" :items (org-ql (org-agenda-files) (and (not (done)) (or (deadline <=) (date = today))) :markers t)))
  my/org-sidebar()
  funcall-interactively(my/org-sidebar)
  call-interactively(my/org-sidebar record nil)
  command-execute(my/org-sidebar record)
  #f(compiled-function (cmd) #<bytecode 0x1575bec943c1>)("my/org-sidebar")
  ivy-call()
  #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is redisplayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes the candidate, which is a string, as its only argument.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x1575bec4b7b5>)("M-x " ("doom/toggle-debug-mode" "my/org-sidebar" "org-sidebar-ql" "eval-expression" "straight-use-package" "org-refile" "cfw:open-org-calendar" "+format/buffer" "magit-checkout" "counsel-projectile-rg" "org-version" "org-super-agenda-mode" "untabify" "conf-mode" "magit-reset" "org-sidebar" "magit-revert" "magit-reverse" "revert-buffer" "customize-group" "git-gutter-mode" "py-isort-buffer" "i3wm-config-mode" "org-set-property" "doom/sudo-this-file" "org-property-action" "posframe-delete-all" "org-set-property-and-value" "cd" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "vlf" "xdb" ...) :predicate nil :require-match t :history counsel-M-x-history :action #f(compiled-function (cmd) #<bytecode 0x1575bec943c1>) :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(#f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is redisplayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes the candidate, which is a string, as its only argument.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x1575bec4b7b5>) ("M-x " ("doom/toggle-debug-mode" "my/org-sidebar" "org-sidebar-ql" "eval-expression" "straight-use-package" "org-refile" "cfw:open-org-calendar" "+format/buffer" "magit-checkout" "counsel-projectile-rg" "org-version" "org-super-agenda-mode" "untabify" "conf-mode" "magit-reset" "org-sidebar" "magit-revert" "magit-reverse" "revert-buffer" "customize-group" "git-gutter-mode" "py-isort-buffer" "i3wm-config-mode" "org-set-property" "doom/sudo-this-file" "org-property-action" "posframe-delete-all" "org-set-property-and-value" "cd" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "vlf" "xdb" ...) :predicate nil :require-match t :history counsel-M-x-history :action #f(compiled-function (cmd) #<bytecode 0x1575bec943c1>) :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is redisplayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes the candidate, which is a string, as its only argument.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x1575bec4b7b5>) ivy-prescient--enable-sort-commands)("M-x " ("doom/toggle-debug-mode" "my/org-sidebar" "org-sidebar-ql" "eval-expression" "straight-use-package" "org-refile" "cfw:open-org-calendar" "+format/buffer" "magit-checkout" "counsel-projectile-rg" "org-version" "org-super-agenda-mode" "untabify" "conf-mode" "magit-reset" "org-sidebar" "magit-revert" "magit-reverse" "revert-buffer" "customize-group" "git-gutter-mode" "py-isort-buffer" "i3wm-config-mode" "org-set-property" "doom/sudo-this-file" "org-property-action" "posframe-delete-all" "org-set-property-and-value" "cd" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "vlf" "xdb" ...) :predicate nil :require-match t :history counsel-M-x-history :action #f(compiled-function (cmd) #<bytecode 0x1575bec943c1>) :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is redisplayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes the candidate, which is a string, as its only argument.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x1575bec4b7b5>) ivy-prescient--enable-sort-commands) ("M-x " ("doom/toggle-debug-mode" "my/org-sidebar" "org-sidebar-ql" "eval-expression" "straight-use-package" "org-refile" "cfw:open-org-calendar" "+format/buffer" "magit-checkout" "counsel-projectile-rg" "org-version" "org-super-agenda-mode" "untabify" "conf-mode" "magit-reset" "org-sidebar" "magit-revert" "magit-reverse" "revert-buffer" "customize-group" "git-gutter-mode" "py-isort-buffer" "i3wm-config-mode" "org-set-property" "doom/sudo-this-file" "org-property-action" "posframe-delete-all" "org-set-property-and-value" "cd" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "vlf" "xdb" ...) :predicate nil :require-match t :history counsel-M-x-history :action #f(compiled-function (cmd) #<bytecode 0x1575bec943c1>) :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-posframe--read(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is redisplayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes the candidate, which is a string, as its only argument.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x1575bec4b7b5>) ivy-prescient--enable-sort-commands) "M-x " ("doom/toggle-debug-mode" "my/org-sidebar" "org-sidebar-ql" "eval-expression" "straight-use-package" "org-refile" "cfw:open-org-calendar" "+format/buffer" "magit-checkout" "counsel-projectile-rg" "org-version" "org-super-agenda-mode" "untabify" "conf-mode" "magit-reset" "org-sidebar" "magit-revert" "magit-reverse" "revert-buffer" "customize-group" "git-gutter-mode" "py-isort-buffer" "i3wm-config-mode" "org-set-property" "doom/sudo-this-file" "org-property-action" "posframe-delete-all" "org-set-property-and-value" "cd" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "vlf" "xdb" ...) :predicate nil :require-match t :history counsel-M-x-history :action #f(compiled-function (cmd) #<bytecode 0x1575bec943c1>) :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(ivy-posframe--read #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is redisplayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes the candidate, which is a string, as its only argument.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x1575bec4b7b5>) ivy-prescient--enable-sort-commands) ("M-x " ("doom/toggle-debug-mode" "my/org-sidebar" "org-sidebar-ql" "eval-expression" "straight-use-package" "org-refile" "cfw:open-org-calendar" "+format/buffer" "magit-checkout" "counsel-projectile-rg" "org-version" "org-super-agenda-mode" "untabify" "conf-mode" "magit-reset" "org-sidebar" "magit-revert" "magit-reverse" "revert-buffer" "customize-group" "git-gutter-mode" "py-isort-buffer" "i3wm-config-mode" "org-set-property" "doom/sudo-this-file" "org-property-action" "posframe-delete-all" "org-set-property-and-value" "cd" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "vlf" "xdb" ...) :predicate nil :require-match t :history counsel-M-x-history :action #f(compiled-function (cmd) #<bytecode 0x1575bec943c1>) :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-read("M-x " ("doom/toggle-debug-mode" "my/org-sidebar" "org-sidebar-ql" "eval-expression" "straight-use-package" "org-refile" "cfw:open-org-calendar" "+format/buffer" "magit-checkout" "counsel-projectile-rg" "org-version" "org-super-agenda-mode" "untabify" "conf-mode" "magit-reset" "org-sidebar" "magit-revert" "magit-reverse" "revert-buffer" "customize-group" "git-gutter-mode" "py-isort-buffer" "i3wm-config-mode" "org-set-property" "doom/sudo-this-file" "org-property-action" "posframe-delete-all" "org-set-property-and-value" "cd" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "vlf" "xdb" ...) :predicate nil :require-match t :history counsel-M-x-history :action #f(compiled-function (cmd) #<bytecode 0x1575bec943c1>) :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)

Thanks

Possible to show/filter items by tags?

Is it possible to customize org-sidebar to display items without deadline or schedule? If so, would it be possible to then somehow show/filter displayed items based on :tags:? Many thanks in advance!

org-sidebar-tree "follow" behaviour only working with mouse

Hi!

Regarding Org-sidebar-tree, I notice that on my Emacs the keyboard movement through the tree headlines does not update the org buffer. Only when using the mouse cursor it does (when clicking, not when navigating with keyboard). Is this the expected behaviour?

hard to navigate without having buffer end up showing only right part of TODO

i'm trying to figure out how to use org-sidebar the best and for some reason I tend to up with the content scrolled all the way to the right like this:

2019-09-30_11-50-36

rather than showing the more useful but also quite tight "left" side of the content:

2019-09-30_11-51-23

How do I get back to the initial state and how do you navigate in the sidebar with a keyboard ?

also, is there a way to have it word-wrap the lines with visual-line-mode or similar ?

org-sidebar-backlinks "Symbol's function definition is void: closure"

When I attempt to run org-sidebar-backlinks, it errors out with the message "funcall: Symbol’s function definition is void: closure"

It does this on several different computers, and I was able to replicate it with a minimal config, loading emacs28 with -Q, then enabling only the minimum required packages for org-sidebar.

Debug trace of the call:
Debugger entered--Lisp error: (void-function closure)
closure(#)
funcall(closure #)
(cons (funcall fn source-buffer) --cl-var--)
(setq --cl-var-- (cons (funcall fn source-buffer) --cl-var--))
(while (consp --cl-var--) (setq fn (car --cl-var--)) (setq --cl-var-- (cons (funcall fn source-buffer) --cl-var--)) (setq --cl-var-- (cdr --cl-var--)))
(let* ((--cl-var-- fns) (fn nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq fn (car --cl-var--)) (setq --cl-var-- (cons (funcall fn source-buffer) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--))
(let* ((source-buffer (current-buffer)) (fns (cond ((listp fns) fns) ((atom fns) (list fns)) ((error "cl-etypecase failed: %s, %s" fns '(list atom)) nil))) (display-buffers (let* ((--cl-var-- fns) (fn nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq fn (car --cl-var--)) (setq --cl-var-- (cons (funcall fn source-buffer) --cl-var--)) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)))) (if display-buffers (progn (setq org-sidebar-sidebar-buffers display-buffers) (let ((list display-buffers) (i 0) it it-index) (ignore it it-index) (while list (setq it (car-safe (prog1 list ...)) it-index i i (1+ i)) (save-current-buffer (set-buffer it) (org-sidebar--prepare-buffer) (setq org-sidebar-source-buffer source-buffer)))) (org-sidebar--display-buffers display-buffers :window-parameters (list (cons 'org-sidebar-window t) (cons 'org-sidebar-source-buffer-point-min (point-min)))))))
org-sidebar((closure ((title . #("Links to: test" 10 14 (face org-level-1 org-category "test" wrap-prefix #("* " 0 2 (face org-indent)) line-prefix "" fontified t))) (sort) (super-groups) (narrow) (--cl-rest-- :title #("Links to: test" 10 14 (face org-level-1 org-category "test" wrap-prefix #("* " 0 2 (face org-indent)) line-prefix "" fontified t))) (query link :target "id:aae5db10-c35d-45ce-89a0-b044f4a0a0eb") (buffers-files "/home/user/org/inbox.org" "/home/user/org/user.org" "/home/user/org/todo.org") t) (&rest _ignore) (let ((display-buffer (generate-new-buffer "org-ql-sidebar"))) (let ((wconfig (current-window-configuration))) (unwind-protect (progn (org-ql-search buffers-files query :narrow narrow :sort sort :super-groups super-groups :buffer display-buffer :title title)) (set-window-configuration wconfig))) display-buffer)))
(progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((memq (car --cl-keys--) '(:narrow :super-groups :sort :title :allow-other-keys)) (setq --cl-keys-- (cdr (cdr --cl-keys--)))) ((car (cdr (memq ... --cl-rest--))) (setq --cl-keys-- nil)) (t (error "Keyword argument %s not one of (:narrow :super-gro..." (car --cl-keys--)))))) (org-sidebar #'(lambda (&rest _ignore) (let ((display-buffer (generate-new-buffer "org-ql-sidebar"))) (let ((wconfig ...)) (unwind-protect (progn ...) (set-window-configuration wconfig))) display-buffer))))
(let* ((narrow (car (cdr (plist-member --cl-rest-- ':narrow)))) (super-groups (car (cdr (plist-member --cl-rest-- ':super-groups)))) (sort (car (cdr (plist-member --cl-rest-- ':sort)))) (title (car (cdr (plist-member --cl-rest-- ':title))))) (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((memq (car --cl-keys--) '...) (setq --cl-keys-- (cdr ...))) ((car (cdr ...)) (setq --cl-keys-- nil)) (t (error "Keyword argument %s not one of (:narrow :super-gro..." (car --cl-keys--)))))) (org-sidebar #'(lambda (&rest _ignore) (let ((display-buffer ...)) (let (...) (unwind-protect ... ...)) display-buffer)))))
org-sidebar-ql(("/home/user/org/inbox.org" "/home/user/org/user.org" "/home/user/org/todo.org") (link :target "id:aae5db10-c35d-45ce-89a0-b044f4a0a0eb") :title #("Links to: test" 10 14 (face org-level-1 org-category "test" wrap-prefix #("* " 0 2 (face org-indent)) line-prefix "" fontified t)))
(let* ((id (org-entry-get (point) "ID")) (custom-id (org-entry-get (point) "CUSTOM_ID")) (query (cond ((and id custom-id) (warn "Entry has both ID and CUSTOM_ID set; query will be...") (list 'or (list 'link ':target (concat "id:" id)) (list 'link ':target (concat "id:" custom-id)))) ((or id custom-id) (list 'link ':target (concat "id:" (or id custom-id)))) (t (error "Entry has no ID nor CUSTOM_ID property"))))) (org-sidebar-ql (org-ql-search-directories-files) query :title (concat "Links to: " (org-get-heading t t))))
org-sidebar-backlinks()
funcall-interactively(org-sidebar-backlinks)
command-execute(org-sidebar-backlinks)

Projects contain too many same todo headlines

Me again. Thanks again.

I manage several projects in one org file, and those projects own almost some same subtasks as below. Those subtasks will be collected into the todo tree buffer several times after calling org-sidebar-toggle, which could cause some visual problems sometimes. You can confirm the image below.

Do you probably think it is good to offer any customized option to add some indentation to make its hira

#+title: Project notebooks

* TODO Project 1
** TODO Child Task 1
*** TODO a more smaller task
** TODO Child Task 2
*** TODO a more smaller task
** TODO Child Task 3
*** TODO a more smaller task

* TODO Project 2
** TODO Child Task 1
*** TODO a more smaller task
** TODO Child Task 2
*** TODO a more smaller task
** TODO Child Task 3
*** TODO a more smaller task

* Some notes
* Footnotes

image

Auto update possible?

Is there a way to auto update he sidebar tree when the document changes? Maybe some way to trigger the update?
When new sections are added, the tree becomes expanded and doesn't show only the outline.

Add more configurable parameters?

Thanks for this good package. I find it quite enlightening!

I would like to suggest an addition: perhaps add one parameter size in org-sidebar and use it as follows?

(display-buffer-in-side-window (current-buffer)
                                         (list (cons 'side org-sidebar-side)
                                               (cons 'slot slot)
                                               (cons 'window-parameters (list (cons 'no-delete-other-windows t)))
                                               (cons 'window-height size)
					       (cons 'window-width size)))

Also, maybe make the header argument in org-sidebar-ql configurable as well?
I know this is still experimental, so this is just a suggestion, as it is simple to implement these changes.
Thanks again for this great package. :-)

Question on possibility that toggling Org-roam daily as a side-bar

Thanks for writing this package. It provides a very good dash screen for my projects.

I am posting this issue to ask if it is possible to add a toggle to
just show the content of the daily? The daily is provided by
org-roam. The file system is below:

~/daily
2020-11-21.org
2020-11-19.org
2020-11-20.org

I have achieved this by tweaking your elisp code in this project. It
just checks the name of visable buffers in a frame and toggles
accordingly.

I am afraid that this tweak is not stable, so it would be good for
consulting the author to confirm its durability.

Followings are the code snippet that executing my request.

(defun check-has-daily-sidebar-buffer-p ()
  (check-has-daily-sidebar-buffer (mapcar #'wr/org-daily-check (mapcar #'prin1-to-string  (window-list)))))

(defun check-has-daily-sidebar-buffer (list)
  (some #'numberp list))

(defun wr/org-daily-check (arg)
  (string-match-p  (format "org-sidebar<%s>" (concat (format-time-string "%Y-%m-%d") ".org")) arg))

(defun wr/toggle-daily-as-sidebar ()
  (interactive)
  (if (check-has-daily-sidebar-buffer-p)
      (call-interactively #'wr/org-daily-sidebar-delete)
    (wr/org-daily-sidebar-toggle)))

(defun wr/org-daily-sidebar-delete ()
  (interactive)
  (let* ((source-buffer (current-buffer))
         (point-min (point-min))
         (sidebar-window (--first (window-parameter it 'org-sidebar-window)
                                  (window-at-side-list nil org-sidebar-side))))
    (mapc #'delete-window (--select (window-parameter it 'org-sidebar-window)
                                            (window-at-side-list nil org-sidebar-side)))))

(defun wr/org-daily-sidebar-toggle ()
  (interactive)
  (let* ((source-buffer (current-buffer))
         (point-min (point-min))
         (sidebar-window (--first (window-parameter it 'org-sidebar-window)
                                  (window-at-side-list nil org-sidebar-side)))
         )
    (if (and sidebar-window
             (with-current-buffer (window-buffer sidebar-window)
               (and (eq org-sidebar-source-buffer source-buffer)
                    (eq (window-parameter sidebar-window 'org-sidebar-source-buffer-point-min)
                        point-min))))
                (mapc #'delete-window (--select (window-parameter it 'org-sidebar-window)
                                        (window-at-side-list nil org-sidebar-side)))
      (progn (call-interactively #'t/org-sidebar) (previous-buffer))
      )))

(defun t/org-sidebar (fns)
  (interactive (list org-sidebar-default-fns))
  (when org-sidebar-sidebar-buffers
    (mapc #'kill-buffer org-sidebar-sidebar-buffers)
    (setf org-sidebar-sidebar-buffers nil))
  (let* ((source-buffer (progn (switch-to-buffer (concat (format-time-string "%Y-%m-%d") ".org"))
                               (current-buffer)
                               ))
         (fns (cl-etypecase fns
                (list fns)
                (atom (list fns))))
         (display-buffers (cl-loop for fn in fns
                                   collect (funcall fn source-buffer))))
    (when display-buffers
      (setf org-sidebar-sidebar-buffers display-buffers)
      (--each display-buffers
        (with-current-buffer it
          (org-sidebar--prepare-buffer)
          (setf org-sidebar-source-buffer source-buffer)))
      (org-sidebar--display-buffers display-buffers
        :window-parameters (list (cons 'org-sidebar-window t)
                                 (cons 'org-sidebar-source-buffer-point-min (point-min)))))))

Symbol’s value as variable is void: accessor-init

Hello,

All org-sidebar commands, are returning these errors at the messages buffer:

Eager macro-expansion failure: (void-variable accessor-init) [2 times]
condition-case: Symbol’s value as variable is void: accessor-init

I'm using spacemacs latest on Windows 10:

GNU Emacs 26.1 (build 1, x86_64-w64-mingw32)

org-ql error when trying to use org-sidebar

I get this message when trying to use M-x org-sidebar or any other org-sidebar-related commands:

org-ql--def-query-string-to-sexp-fn: Symbol’s function definition is void: -on

I'm using org-sidebar version 20201114.507

Jump to current buffer

Is there a way to make clicking/pressing enter go to the main buffer instead of opening up an indirect one?

It looks like org-sidebar-tree-jump-source might be what I'm after, but I don't know how to set it as an option.

The behavior I'd like to (optionally) have is keeping just two buffers open, the tree view and the main, and having clicking around in the tree view move to that part of the main file (like Word or Google Docs, or Scrivener in Scrivenings view).

And thanks for making this functionality into a package.

Error launching org-sidebar-backlinks?

Very attractive feature, but which never worked for me. This is the message I get when M-x org-sidebar-backlinks:
helm-M-x: Wrong type argument: sequencep, :title

And a new buffer called org-ql-sidebar is created in the background with the backlinks. Not sure if this is the expected behavior.

highlight current org-level

It would be great UX wise if there was a way to do the following:
The heading you currently are in your document is highlighted in the tree. This is similar to your org-now package but would be embedded onto this package. This use case is not for everyone so it would probably be an option that can be toggled.

On a related note, is there a way to jump from the current heading in an org-document to its counterpart in the tree? I could not quite figure out how.

Error when trying to run org-sidebar-ql

I get the following error when I try to run the command org-sidebar-ql:

helm-M-x-execute-command: Symbol’s function definition is void: org-ql-view--complete-buffers-files

Stacktrace:

Debugger entered--Lisp error: (void-function org-ql-view--complete-buffers-files)
  org-ql-view--complete-buffers-files()
  byte-code("\010\303\232\204\025\0\304\305!\204\025\0\306\307\310\311\312 C$\210\313 \314\315\011\205!\0\316\317\011\"\"\320\n\206*\0\010\321=\322\323 \324\325 \257\010\207" [current-prefix-arg org-ql-view-query org-ql-view-narrow (4) derived-mode-p org-mode cl--assertion-failed (or (equal current-prefix-arg (quote (4))) (derived-mode-p (quote org-mode))) "Not an Org buffer: %s" nil buffer-name org-ql-view--complete-buffers-files read-string "Query: " format "%S" :narrow (4) :super-groups org-ql-view--complete-super-groups :sort org-ql-view--complete-sort] 8)
  call-interactively(org-sidebar-ql record nil)
  command-execute(org-sidebar-ql record)
  helm-M-x-execute-command(org-sidebar-ql)
  helm-execute-selection-action-1()
  helm-execute-selection-action()
  helm-internal((((name . "Emacs Commands history") (candidates . #f(compiled-function () #<bytecode 0x4110da75>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic)) ((name . "Emacs Commands") (candidates . #f(compiled-function () #<bytecode 0x4293d3b9>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic))) nil "M-x " nil nil "*helm M-x*" nil nil helm-M-x-input-history)
  apply(helm-internal ((((name . "Emacs Commands history") (candidates . #f(compiled-function () #<bytecode 0x4110da75>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap ...))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () ... #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic)) ((name . "Emacs Commands") (candidates . #f(compiled-function () #<bytecode 0x4293d3b9>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap ...))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () ... #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic))) nil "M-x " nil nil "*helm M-x*" nil nil helm-M-x-input-history))
  helm((((name . "Emacs Commands history") (candidates . #f(compiled-function () #<bytecode 0x4110da75>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic)) ((name . "Emacs Commands") (candidates . #f(compiled-function () #<bytecode 0x4293d3b9>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic))) nil "M-x " nil nil "*helm M-x*" nil nil helm-M-x-input-history)
  apply(helm ((((name . "Emacs Commands history") (candidates . #f(compiled-function () #<bytecode 0x4110da75>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap ...))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () ... #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic)) ((name . "Emacs Commands") (candidates . #f(compiled-function () #<bytecode 0x4293d3b9>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap ...))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () ... #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic))) nil "M-x " nil nil "*helm M-x*" nil nil helm-M-x-input-history))
  helm(:sources (((name . "Emacs Commands history") (candidates . #f(compiled-function () #<bytecode 0x4110da75>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic)) ((name . "Emacs Commands") (candidates . #f(compiled-function () #<bytecode 0x4293d3b9>)) (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (21 . helm-M-x-universal-argument) keymap (127 . delete-backward-char) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x42026965>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x4287ee41>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-type-command-actions) (persistent-action . helm-M-x-persistent-action) (persistent-help . "Describe this command") (help-message . helm-M-x-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-M-x-transformer-no-sort helm-fuzzy-highlight-matches) (volatile) (match . identity) (redisplay . identity) (nomark) (coerce . helm-symbolify) (header-line . "C-j: Describe this command (keeping session)") (must-match) (group . helm-command) (match-dynamic))) :prompt "M-x " :buffer "*helm M-x*" :history helm-M-x-input-history)
  helm-M-x-read-extended-command([eww-buffer-select org-brain-show-icons diary-included-files epg-context-signers locals 0 rng-what-schema vc-git-stash-snapshot denied edebug-trace image-dired-update-property tramp-find-user help-variable 0 olp org-brain-visualize-add-grandparent helm-type-timers-actions tramp-do-copy-or-rename-file-out-of-band gnus-agent-group-covered-p nnmail-fix-eudora-headers gujr mixal gnus-summary-recenter elpy-insert--generic-button-action cl-print--preprocess matched-string tls-success edebug-clear-frequency-count org-agenda-regexp-filter-preset vc-git-conflicted-files 0 post-deadline xref-w-dedicated being Load\ snippets\.\.\. gnus-tree-buffer Edebug\ All\ Defs helm-kill-regexp-as-sexp cl--loop-initially \' nnoo-import-1 gnus-summary-catchup-from-here helm-buffer-run-ediff-merge rx-trans-forms request-list elfeed-search-date-face not-at-beginning-of-line log-edit-set-header ident doc-view-pdf/ps->png ...])
  helm-M-x(nil)
  funcall-interactively(helm-M-x nil)
  call-interactively(helm-M-x nil nil)
  command-execute(helm-M-x)

sidebar doesn't toggle on emacs 28/tab bar mode?

Haven't been able to run systematic tests yet but the sidebar tree does not seem to toggle off after being activated in Emacs 28 with tab-bar-mode switched on. the regular sidebar will still toggle off as expected. Somewhat hectic time here but will try to poke around and investigate.

Sidebar tree opens subtrees in most recently opened window

Context: Spacemacs frame with four windows open:

  1. org-sidebar-tree of example.org
  2. example.org
  3. arbitrary or empty buffer
  4. arbitrary or empty buffer

I switch to window 1, navigate to the headline I want to open as a subtree, and hit RET.

Expected behavior: Subtree opens in window 2 (i.e., the window that contains the full example.org buffer).

Actual behavior: Subtree opens in window 4.

After messing around with it, I think the subtree will always open in the most recently opened window. And this appears to be the behavior no matter when or from what window org-sidebar-tree is run.

It would make sense to open the subtree in the most recently opened window displaying an empty buffer, but if it's going to replace a non-empty buffer, it seems like it would make the most sense to replace the full example.org tree. My use case is probably on the unusual side, however, so I wouldn't be surprised if the current behavior was chosen deliberately for reasons that aren't relevant to my use case.

Thank you for all your hard work on this wonderful package!

Display tree structure only, hide note text at the beginning

Thanks for this wonderful work. It helps me a lot.

I expect this only display tree structure of headlines. It works great when I narrow buffer to some headings. For example:

* head 1
text 1
** head 1.1
text 1.1
** head 1.2
text 1.2

Sidebar:

* head 1
** head 1.1
** head 1.2

However, the sidebar for file buffer shows the note at top. For example:

#+Title: Emacs
file text
* head 1
text 1
** head 1.1
text 1.1
** head 1.2
text 1.2
* head 2
text 2

Sidebar:

#+Title: Emacs
file text
* head 1
** head 1.1
** head 1.2
* head 2

As for me, and maybe for most people, the expected sidebar tree is:

* head 1
** head 1.1
** head 1.2
* head 2

It would be great if you can offer some ideas.

Environments:
GNU Emacs 26.3 (build 1, x86_64-apple-darwin19.3.0, Carbon Version 162 AppKit 1894.3) of 2020-03-07
Org mode version 9.1.2
org-sidebar 0.3

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.