SteamingBeer · 2022-11-20 20:03
I see many GUI apps implement rounded corners and shadows (usually in electron with CSS).
Is something like that possible in emacs, for child frames etc? If not, is there a specific limitation that hinders it.
I know it's something entirely preferential, but would be fascinating to know if it could be done.
eleven_cupfuls · 2022-11-20 21:23
The details of child frame behavior depend heavily on the window manager, but if you create one [with a frame parameter of `(undecorated . nil)`](https://www.gnu.org/software/emacs/manual/html_node/elisp/Management-Parameters.html#index-undecorated) you can see what chrome is available on your particular platform.
heartb1t · 2022-11-21 00:54
i don't think the UI is as configurable as with Electron apps, using CSS, mostly because of the fact that Emacs uses a very different UI engine. but it is still quite configurable!
the most basic UI changes you can do is by configuring [faces](https://www.gnu.org/software/emacs/manual/html_node/emacs/Faces.html) (i recommend you take a look at the whole [Controlling the Display](https://www.gnu.org/software/emacs/manual/html_node/emacs/Display.html) section of the manual). going a bit beyond that, you can also take a look at the [Widget Library](https://www.gnu.org/software/emacs/manual/html_mono/widget.html) as well for buttons, links, checkboxes and some other stuff. and there is also some packages and hacks by the community to display SVGs. see [this](https://reddit.com/r/emacs/comments/qu6dp5/svg_hack_for_emacs_display_engine/) reddit post and also some of [Nicolas Rougier's work](https://github.com/rougier#emacs-hacking), more specifically his [SVG lib](https://github.com/rougier/svg-lib).
hope that helps!
SteamingBeer · 2022-11-21 12:18
That might be exactly what I am looking for! I use Hyprland so it offers rounded corners, blur and shadows!
Tried to play around with it and ivy-posframe but didn't have any success. Do you know if somebody has an example of this implementation somewhere? (Applying this frame parameter on a child frame)
eleven_cupfuls · 2022-11-21 18:38
You should be able to use [`ivy-posframe-parameters`](https://github.com/tumashu/ivy-posframe/blob/533a8e368fcabfd534761a5c685ce713376fa594/ivy-posframe.el#L199-L201)
(setq ivy-posframe-parameters (list '(undecorated . nil)))
Or you can play around [with `posframe-show` directly](https://github.com/tumashu/posframe/blob/48b7130ca3b5c98bdb21bf99b64a3536acf2b0eb/posframe.el#L308) and pass that as one of the `:override-parameters`.
SteamingBeer · 2022-12-04 14:32
Found the solution:
install \`emacs-mini-frame\`
\`\`\`elisp
(setq mini-frame-detach-on-hide nil)
(setq mini-frame-standalone 't)
\`\`\`