8

With a lot of hacky experimentation I was able to get #6 (using minibuffer text) to a 'good enough' working state. Here's a screenshot: There are several key parts to make this work: Inserting text into the minibuffer surprisingly almost does the right thing out of the box. Text inserted there will actually show up. By making the text be the 'after-string ...


5

You can set the face of the header line by setting properties of the text in header-line-format, but you would need to update header-line-format on every window switch. As mentioned by @Slomojo, buffer-list-update-hook is the hook to use. You can start with this draft of a hook and adjust the format string and text properties: (defun my-update-header () ...


5

In general, the fact that every window has only one mode-line is probably difficult to change (would require changes in the C code). Similarly, adding something below the echo-area is going to require changes to the C code. What you can do is to add a special window at the top of your frames (and if you want it to only occupy a single line, then you can ...


3

You are seeing the header line of semantic-stickyfunc-mode. There are essentially two ways to switch it on/off. You can globally switch it on/off by customizing global-semantic-stickyfunc-mode. The graphical user interface offers the menu item Options -> Customize Emacs -> Specific Options... for that purpose. You can also switch it off specifically ...


3

I couldn't reproduce the crash, instead my development emacs just froze. However, it froze exactly when you said yours crashed, so I'll assume the problem is the same. This is an infinite loop (i.e. bug) in web-mode-markup-indentation-origin. Here's is the basic run-down on what's going on. We have the following loop: (stripped of the code that doesn't ...


3

Yes, it's the header line. You can customize its appearance using M-x customize-face header-line. See also the Elisp manual, node Header Lines.


3

I found the answer here. All I had to do was creating a function and call it once I got into org-sort f(function).


2

Here's a quick and dirty function to do the conversion - it just looks for lines starting with up to 4 numbers. Paste it into your *scratch* buffer, type C-x C-e after it, switch to the buffer to convert, then enter M-x convert-headers. (defun convert-headers () (interactive) (beginning-of-buffer) (replace-regexp "^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+ " ...


2

After your comment below, I did some experimentation. I am guessing, after you move all the tags to the TAGS property, you are expecting to continue to use the normal tag related interfaces to continue working. This does not look possible. The tags are provided as properties in the property API, but that does not mean they are like real properties. They ...


2

Emacs has support for a header line which works pretty much like the mode line, but at the top of the buffer. See variable header-line-format, which can be configured in the same way as mode-line-format. This variable defaults to nil (no header), but you could define a function to set it to display whatever you want. See the manual for more.


2

Turns out I carelessly set the variable (setq org-export-babel-evaluate nil) which according to the documentation disregards all header arguments: Switch controlling code evaluation during export. When set to nil no code will be evaluated as part of the export process and no header argumentss will be obeyed. When set to ‘inline-only’, only ...


2

The 2-space padding is hard implemented as (setq tabulated-list-padding 2) in package-menu-mode. The documentation string of tabulated-list-padding says: Documentation: Number of characters preceding each Tabulated List mode entry. By default, lines are padded with spaces, but you can use the function `tabulated-list-put-tag' to change this. The ...


1

A click on the mode-line does not generate the event sequence [mouse-1] but [mode-line mouse-1] and similarly a click on the header line generates the sequence [header-line mouse-1], so you need to tweak the mode-line-major-mode-keymap so it also reacts to event sequences like [header-line mouse-1]. For example with: (define-key mode-line-major-mode-keymap [...


1

If you can use unicode characters and mouse clicks, here is another approach. (require 's) (setq header-line-format (propertize "♥ " 'help-echo "Click to toggle." 'keymap (let ((map (make-sparse-keymap))) (define-key map [header-line mouse-1] ...


1

Here is a new idea. It seems to work for me, but it relies on the mouse-position and detecting when it goes away from the header-mode-line. If you mouse over to change it, but slide right then down it doesn't change. Maybe you can make it more robust by checking for x and y. (setq img1 '(image :type xpm :data "/* XPM */ static char * ...


1

You could wrap the output with next code and create file and link after block #+name: attr_wrap #+begin_src sh :session :var file=/tmp/py87133eo.png echo "$data" > /tmp/$file ln -s /tmp/$file /tmp/link #+end_src #+begin_src ipython :session :exports results :post attr_wrap(data=*this*) :results output %matplotlib inline import matplotlib.pyplot ...


1

(force-mode-line-update) or all with the optional t: "Force redisplay of the current buffer’s mode line and header line. With optional non-nil ALL, force redisplay of all mode lines and header lines. This function also forces recomputation of the menu bar menus and the frame title." Here is a link to the manual entry: https://www.gnu.org/software/emacs/...


1

I finally found it; doing an apropos of header-line and searching for faces put me on the right track. For example: (set-face-attribute 'mode-line nil :height 100) (set-face-attribute 'header-line nil :height 200)


1

I'm not sure how you would accomplish this with auto-complete but I do know that you can do all of this and more with company-mode, company-irony, company-irony-c-headers, and irony. You can find all of them on MELPA. I'll walk you through my init.el file and you can make the relevant changes in yours accordingly. However, you should read the guides of the ...


1

Here is one idea using underline and a filler that is underlined. You can add :eval so that the line length updates as the window width changes. (defface my-regular-underscore-face '((t (:inherit default :underline (:style line :color "red")))) "Face for `my-regular-underscore-face'.") (defface my-filler-underscore-face '((t (:inherit default :...


1

I was hoping that org-copy-visible but apparently it does only skips hidden subtrees. So here is an alternative version (inspired by org-copy-visible's code) which copies only visible text (require 'cl-lib) (defun my-copy-only-visible-text () (interactive) (kill-new (apply #'string (delq nil ; Last element is nil if region end corresponds to buffer end ...


1

I'm not sure about how generic this will be, but at least it looks short enough to try: (defun my/org-strip-links (text) (replace-regexp-in-string org-any-link-re (lambda (match) (or (match-string 4 match) (match-string 2 match))) text)) I think that links are normally handled by backends in order to produce any kind of text, but I'm not ...


1

Neither the mode-line nor the header-line can be multiple lines, unfortunately. I have asked about this before and there is (at least wasn't) any hidden option to make this work. So 1 and 2 are out. I also feel like 3 and 6 are hacks that won't make you happy in the long run. 3 and 4 seem like fine approaches, but to get them to work reliably will be quite ...


1

As a fairly incomplete answer (I'm in the bus so I'll flesh it out in a little while.) You can use the buffer-list-update-hook This hook runs whenever the buffer list changes. You can then determine which buffer is now current and update the header-line-format accordingly.


1

A little later in that same thread, its a bit confusing but there is a commit that solves this. 03b1edf org.el: Disable {pro,de}motion commands in orgstruct-mode if orgstruct-heading-prefix-regexp is non-nil Which isn't entirely true. Setting orgstruct-heading-prefix-regexp to nil did not enable Pro/Demotion but setting it to an empty string did. ...


Only top voted, non community-wiki answers of a minimum length are eligible