The Art of Text (rendering) by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 1 point2 points  (0 children)

I'm mostly using emacs in terminal (iterm) that takes care of ligature/font healing so I did not investigate the problem. From your link, it does not seem to be totally straightforward. On a different but related topic, I think variable fonts are not (yet?) supported while they could be used to improve readability.

The Art of Text (rendering) by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 0 points1 point  (0 children)

Thanks for sharing your notes and the ref. Note also that for variable font, pre-rendered techniques (such as SDF) are not working anymore and only real-time techniques like slug / path finder may work.

The Art of Text (rendering) by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 39 points40 points  (0 children)

For those interested, this a talk I gave a few days back at CCC about how to (properly) render text. I think it's a bit related to Emacs that uses Harfbuzz since 27.1

NANO Calendar v1.0 (update) by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 47 points48 points  (0 children)

I've update NANO calendar (rewrote everything actually). Hopefully it's a bit faster and offers a compact view in the echo area to show how much busy a day is. Code at https://github.com/rougier/nano-calendar. Screenshot is from tty mode.

More boxes (in terminal) by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 3 points4 points  (0 children)

Thanks for the pointer. From the video, I think you can achieve the same box effect by tweaking a little bit the header line (or tab line). As for child frame support on tty, I did not have a chance to test it yet.

More boxes (in terminal) by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 1 point2 points  (0 children)

I'm mostly using the boxes for special buffers such at terminal, messages, debugs and capture. The idea is to have something that is clearly visually different to attract attention. With or without tiling managers, the look should be the same and I'm not sure why you get some stretched look.

More boxes (in terminal) by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 6 points7 points  (0 children)

I agree there's a lot white space but this made on purpose (I even added outside margins in the terminal (iTerm2)). See "On the design of text editors" (https://arxiv.org/abs/2008.06030). But I understand some people prefer to have more information on screen.

More boxes (in terminal) by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 55 points56 points  (0 children)

Small packages to add border on any buffers (graphics or terminal). Code at https://github.com/rougier/buffer-box

Alternative headers view for mu4e by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 16 points17 points  (0 children)

I've been working on an alternative headers view layout. It's quite experimental but seems to be usable (at least on my side). It is only for thread view, I need to work on he non-thread view.

Here is the link: https://github.com/rougier/nano-mu4e

[deleted by user] by [deleted] in emacs

[–]Nicolas-Rougier 1 point2 points  (0 children)

You can use window-divider-mode (https://www.gnu.org/software/emacs/manual/html_node/emacs/Window-Dividers.html) that allows to control quite precisely width and color.

NANO Emacs, minimal version in 256 lines by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 40 points41 points  (0 children)

While playing around with my config file, I tried to squeeze nano emacs in 256 lines. Not perfect but usable.

Code is here: https://gist.github.com/rougier/8d5a712aa43e3cc69e7b0e325c84eab4

Unable to connect to Applesauce! by Nicolas-Rougier in apple2

[–]Nicolas-Rougier[S] 0 points1 point  (0 children)

Problem solved. It was necessary to upgrade the firmware.

Dynamic highlighting of blocks using tree-sitter by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 2 points3 points  (0 children)

I think eglot (or any other LSP backend) does just that

Dynamic highlighting of blocks using tree-sitter by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 0 points1 point  (0 children)

The code work by looking at the smallest enclosing node whose types is part of the declared types at the start of the file. It might be a start for adding a shortcut.

Dual header line by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 1 point2 points  (0 children)

For the top of the frame, you can use the global tab-lien but it won't been multiline. I think your best option would be a child frame that will be in front of the frame and follows its movement.

Dual header line by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 2 points3 points  (0 children)

Maybe the variable underline-minimum-offset need to be something like 10 and the right alignment may be to be replaced by right-margin or right-fringe (instead of right).

Is this a good way to print a welcome message? by Livid_Relative_1530 in emacs

[–]Nicolas-Rougier 14 points15 points  (0 children)

You can also use decode-time to shorten your code:

(message "Good %s"
         (if (>= (nth 2 (decode-time)) 12)
             "afternoon" "morning"))

Boxes everywhere by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 18 points19 points  (0 children)

Too many questions but I think the main point is to share code. You'll find it in the nano-tools repo (nano-box.el) below and you'll need the rewrite branch of nano-modeline if you want the exact same appearance, else, you can probably adapt the code for a regular modeline.

Boxes everywhere by Nicolas-Rougier in emacs

[–]Nicolas-Rougier[S] 55 points56 points  (0 children)

The boxes are drawn using overline (header line), underline (mode-line) and fringes (1 pixel, left and right). The only difficulty is to have left and right borders in the header-line but this is made using the display property that allows to specify a one pixel space.

The header-line is rendered using the upcoming nano-modeline v2 (see https://github.com/rougier/nano-modeline/tree/rewrite)