# Kakoune needs a splash screen!

**URL:** <https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441>\
**Category:** Plugins\
**Created:** [March 17, 2024, 3:11pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441 "2024-03-17T15:11:19Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![ftonneau](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/ftonneau/32/295_2.png) [@ftonneau](https://discuss.kakoune.com/u/ftonneau)\
**Post date:** [March 17, 2024, 3:11pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/1 "2024-03-17T15:11:19Z")

</div>

Well, of course not – but other editors have a splash screen, so why not Kakoune?

 ![listshot](https://discuss.kakoune.com/uploads/default/original/2X/7/7e21ca0cc1d2f558f303d752b43f72ede9774e7b.jpeg)

In this screenshot, the picture on the left is Nicolas Rougier’s splash screen for Elegant Emacs (a prelude to his amazing work on Nano Emacs). This is a streamlined version of the default GNU Emacs welcome screen, and has been well appreciated in the Emacs community.

The window on the right is my terminal running Kakoune. I use a light theme, but the colors of the splash screen are fully customizable.

Details here:

[Splash plugin](https://github.com/ftonneau/splash.kak)

---

<div class="post-metadata">

**Author:** ![Hjagu09](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/hjagu09/32/1447_2.png) [@Hjagu09](https://discuss.kakoune.com/u/Hjagu09)\
**Post date:** [March 17, 2024, 5:48pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/2 "2024-03-17T17:48:03Z")

</div>

Huh, nice work! Gotta find something new and even more stupid to do too make kakoune look good. What happens if you have a to small window to display the entire thing? Also could you make the window?

---

<div class="post-metadata">

**Author:** ![ftonneau](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/ftonneau/32/295_2.png) [@ftonneau](https://discuss.kakoune.com/u/ftonneau)\
**Post date:** [March 17, 2024, 7:30pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/3 "2024-03-17T19:30:48Z")

</div>

Not sure I understand your question about making a window (creating a buffer?). Kakoune automatically creates a scratch buffer named \*scratch\* when you run kak without reading any file, or when you delete all of your buffers.

The scratch buffer automatically created contains two lines:

\*\*\* this is a \*scratch\* buffer which won’t be automatically saved \*\*\*  
\*\*\* use it for notes or open a file buffer with the :edit command \*\*\*

The plugin just replaces these two lines with eye candy. No new buffer is created, as splash content is supposed to be disposed of anyway.

About terminal window size: if it is too small to display the totality of splash content, this content is just truncated. Splash content is usually small enough (18 lines x 76 columns) to show up correctly, however.

---

<div class="post-metadata">

**Author:** ![Hjagu09](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/hjagu09/32/1447_2.png) [@Hjagu09](https://discuss.kakoune.com/u/Hjagu09)\
**Post date:** [March 17, 2024, 7:40pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/4 "2024-03-17T19:40:33Z")

</div>

Sorry, I probably worded my question badly. I was just thinking of the box that you display the text in when I wrote window, my bad. Would you be open for a pr trying to center that box on the screen and maybe opt to just show the K on small screens

---

<div class="post-metadata">

**Author:** ![ftonneau](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/ftonneau/32/295_2.png) [@ftonneau](https://discuss.kakoune.com/u/ftonneau)\
**Post date:** [March 18, 2024, 10:17am UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/5 "2024-03-18T10:17:53Z")

</div>

Hmm… I’d rather you fork the project than accepting a pull request, because I do not like centering that much. Although most splash screens are centered in the display window, graphic designers will tell you that left or right alignment is superior to centering because the visual cues to alignment are stronger than in the latter case.

I also prefer the current positioning because most of us read from left to right and from top to bottom. Finally, the modeline is often visually heavier to the right, hence moving the box from the center to the left actually improves visual balance.

To each their own 🙂

---

<div class="post-metadata">

**Author:** ![Hjagu09](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/hjagu09/32/1447_2.png) [@Hjagu09](https://discuss.kakoune.com/u/Hjagu09)\
**Post date:** [March 19, 2024, 6:03pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/6 "2024-03-19T18:03:04Z")

</div>

I forked the plugin, my version is [here](https://github.com/Hjagu09/splash.kak). It centers the box, removes the splash once you start editing the buffer (or on to small screens) and renders the text triangles using NERD triangles as the unicode ones aren’t full height on all fonts

![Screenshot](https://github.com/Hjagu09/splash.kak/blob/main/screenshot.png?raw=true)

---

<div class="post-metadata">

**Author:** ![alexherbo2](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/alexherbo2/32/1140_2.png) [@alexherbo2](https://discuss.kakoune.com/u/alexherbo2)\
**Post date:** [March 19, 2024, 9:08pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/7 "2024-03-19T21:08:27Z")

</div>

with the splash screen I’d like the scratch buffer to be empty.

---

<div class="post-metadata">

**Author:** ![Hjagu09](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/hjagu09/32/1447_2.png) [@Hjagu09](https://discuss.kakoune.com/u/Hjagu09)\
**Post date:** [March 19, 2024, 9:42pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/8 "2024-03-19T21:42:48Z")

</div>

Like just no spash screen or like mine that removes all content as soon as you do anything at all? Or just that it shouldn’t affect the scratch buffer and display the splash screen in some other way?

---

<div class="post-metadata">

**Author:** ![sdothum](https://discuss.kakoune.com/letter_avatar_proxy/v4/letter/s/c4cdca/32.png) [@sdothum](https://discuss.kakoune.com/u/sdothum)\
**Post date:** [March 29, 2024, 12:28am UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/9 "2024-03-29T00:28:10Z")

</div>

This looks better on my setup (with NERD fonts). Especially like the auto clear once you start editing. Nice touch!

---

<div class="post-metadata">

**Author:** ![aleivk](https://discuss.kakoune.com/letter_avatar_proxy/v4/letter/a/7bcc69/32.png) [@aleivk](https://discuss.kakoune.com/u/aleivk)\
**Post date:** [April 14, 2024, 3:33am UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/10 "2024-04-14T03:33:10Z")

</div>

Edit: Also splash.kak seems to override/‘ruin’ my syntax highlighting? [Syntax highlighting not working on systemd overrides · Issue #4060 · mawww/kakoune · GitHub](https://github.com/mawww/kakoune/issues/4060).  
I was wondering if I could make Kakoune display a random quote from a list. I remember hacking together a code snippet in Nano Emacs to do this but not sure how it works in Kakoune.

---

<div class="post-metadata">

**Author:** ![alexherbo2](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/alexherbo2/32/1140_2.png) [@alexherbo2](https://discuss.kakoune.com/u/alexherbo2)\
**Post date:** [April 15, 2024, 9:51pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/11 "2024-04-15T21:51:21Z")

</div>

I wonder if something can be done for commands to be actionable with the mouse.

---

<div class="post-metadata">

**Author:** ![Hjagu09](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/hjagu09/32/1447_2.png) [@Hjagu09](https://discuss.kakoune.com/u/Hjagu09)\
**Post date:** [April 16, 2024, 6:36am UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/12 "2024-04-16T06:36:14Z")

</div>

For that I’m thinking we could create a hook and in that test if the mouse lines up with any of the command texts. That wouldn’t be too complicated

One question is just what hook we should use. There is no hook for when the cursor moved in normal mode but maybe mouse clicks trigger the RawKey hook? If none of those work we could also try NormalIdle.

---

<div class="post-metadata">

**Author:** ![alexherbo2](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/alexherbo2/32/1140_2.png) [@alexherbo2](https://discuss.kakoune.com/u/alexherbo2)\
**Post date:** [October 20, 2024, 11:08pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/13 "2024-10-20T23:08:57Z")

</div>

@ftonneau I’m wondering if it can be done using `info -style modal -markup`

 ![Screenshot 2024-10-21 at 01.01.35](https://discuss.kakoune.com/uploads/default/original/2X/0/0c6101252041685b9f26fa87690cd2fdd26cc231.jpeg)

---

<div class="post-metadata">

**Author:** ![ftonneau](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/ftonneau/32/295_2.png) [@ftonneau](https://discuss.kakoune.com/u/ftonneau)\
**Post date:** [October 22, 2024, 6:45pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/14 "2024-10-22T18:45:46Z")

</div>

Yes, of course. That would be another way to do it!

---

<div class="post-metadata">

**Author:** ![alexherbo2](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/alexherbo2/32/1140_2.png) [@alexherbo2](https://discuss.kakoune.com/u/alexherbo2)\
**Post date:** [October 24, 2024, 1:56pm UTC](https://discuss.kakoune.com/t/kakoune-needs-a-splash-screen/2441/15 "2024-10-24T13:56:53Z")

</div>

I’ve found about the Vim’s `:intro` command. It is the command responsible of the splash screen.

[https://vimdoc.sourceforge.net/htmldoc/starting.html#:intro](https://vimdoc.sourceforge.net/htmldoc/starting.html#:intro)
