17

Emacs 23 just added the functionality to change the alpha value of the current frame to make it transparent. I just type the following command in .emacs:

(set-frame-parameter (selected-frame) 'alpha '(85 50))

It actually shows what's on the windows behind Emacs. However, I would be interested in making an Emacs background image instead. Maybe of some stellar landscape or something. Does anyone have ideas on how to change the background image behind the frame?

User1
  • 39,458
  • 69
  • 187
  • 265

3 Answers3

5

This doesn't appear possible at a glance. Below are the frame parameters that can be set:

  • auto-raise
  • auto-lower
  • background-color
  • border-color
  • border-width
  • cursor-color
  • cursor-type
  • font
  • foreground-color
  • icon-name
  • icon-type
  • internal-border-width
  • menu-bar-lines
  • mouse-color
  • name
  • scroll-bar-width
  • title
  • unsplittable
  • vertical-scroll-bars
  • visibility
  • tool-bar-lines
  • scroll-bar-foreground
  • scroll-bar-background
  • screen-gamma
  • line-spacing
  • left-fringe
  • right-fringe
  • wait-for-wm
  • fullscreen
  • font-backend
  • alpha
  • sticky
Derek Slager
  • 13,619
  • 3
  • 34
  • 34
  • 10
    Found my way to `frame.c` via the Emacs inline help and macro'ed it into Markdown format. Never had to leave the friendly confines. – Derek Slager Jan 06 '10 at 17:20
  • 3
    +1 You are an Emacs genius! I'm somewhat new to Emacs. How do I get to Emacs inline help? Do they include the source code? How did you learn to do all of this cool stuff in Emacs? – User1 Jan 13 '10 at 22:51
4

I used to build from source just so I could use the patch at http://umiushi.com/~wac/bgex/, but that doesn't work on Mac (and probably not Windows). It allows you to put a different background on different buffers based on filename or major-mode. I liked it a lot.

One thing that almost works is to set the stipple for the default face M-x customize-face RET default RET to a file. For me this ends up being worse than nothing though since it only adds a background image to the portion of the buffer with text in it (at least on OS X). I learned about this by asking on emacs-devel http://lists.gnu.org/archive/html/emacs-devel/2009-06/msg00477.html.

You may also find http://www.emacswiki.org/emacs/TransparentEmacs useful.

Ivan Andrus
  • 5,221
  • 24
  • 31
  • 1
    Have you tried dark backgrounds with bgex? Looks like cursor is always dark, i.e. (set-cursor-color "#ffffff") makes it not lighter than the background picture. – Alex Lokk Dec 02 '12 at 13:05
  • ..oh, I see: disabling dynamic-color-p helped, i.e. `(bgex-set-image-default "~/Pictures/wallpaper_emacs/cosmic.jpg" nil)` – Alex Lokk Dec 02 '12 at 13:37
  • Get source of bgex at https://github.com/wachikun/emacs_bgex (the link to umiushi.com seems to be broken). – Claudio Apr 22 '23 at 10:29
2

There is a way. Install Xfce terminal, which allows you set background image in terminal and start emacs in no-window-system mode from inside the terminal. Using screen/tmux (some sort of terminal muliplexer) you can dedicate a terminal session to emacs.

rack_jack
  • 51
  • 1
  • 6