unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: sand@blarg.net
To: 9654@debbugs.gnu.org
Subject: bug#9654: 24.0.90; X11 frame leaves garbage when changing background color
Date: Sat, 01 Oct 2011 20:01:36 -0700	[thread overview]
Message-ID: <877h4oqepb.fsf@blarg.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 2165 bytes --]

Configure Emacs 24.0.90 with the options shown below.  Put the following
in your .emacs file:

------------------------------ cut here ------------------------------

(defconst +dark-frame-colors+
  '((background-mode . dark)
    (background-color . "black")
    (foreground-color . "grey80")
    (cursor-color . "gainsboro"))
  "Dark color scheme.")

(defconst +light-frame-colors+
  '((background-mode . light)
    (background-color . "#fffffe") ;; standard is "#e2e2de"
    (foreground-color . "#000001")
    (cursor-color . "black"))
  "Light color scheme, for use with HTMLize.")

(setq default-frame-alist
      `((cursor-type . bar)
        (height . 25)
        (width . 80)
        (vertical-scroll-bars . nil)
        (tool-bar-lines . nil)
        ,@+dark-frame-colors+))

(setq initial-frame-alist default-frame-alist)

(defun toggle-frames-color-scheme ()
  "Flip the dark/light scheme for all frames.
Use the constants `+light-frame-colors+' and `+dark-frame-colors+'
to define the schemes."
  (interactive)
  (if (eq frame-background-mode 'dark)
      (set-frame-color-scheme-light)
    (set-frame-color-scheme-dark)))

(defun set-frame-color-scheme-light ()
  (interactive)
  (setq-default frame-background-mode 'light)
  (dolist (f (frames-on-display-list))
    (frame-set-background-mode f)
    (modify-frame-parameters f +light-frame-colors+))
  (message "Using \"light\" color scheme"))

(defun set-frame-color-scheme-dark ()
  (interactive)
  (setq-default frame-background-mode 'dark)
  (dolist (f (frames-on-display-list))
    (frame-set-background-mode f)
    (modify-frame-parameters f +dark-frame-colors+))
  (message "Using \"dark\" color scheme"))

------------------------------ cut here ------------------------------

Start Emacs under X11.  The initial frame will begin with a white
background.  The the initial-frame-alist will cause Emacs to switch it
to a black background.  However, the switch is not complete.  On two
different systems (Debian unstable, RHEL 5.1) the frame is left with the
original white background in a one-pixel strip around the edges of the
frame (two pixels on the bottom).  I have attached a screenshot.


[-- Attachment #2: Emacs window damage --]
[-- Type: image/png, Size: 18690 bytes --]

[-- Attachment #3: Type: text/plain, Size: 14155 bytes --]


You will notice that the white edging is ends near the top-left of
the frame.  When Emacs redraws the frame due to X11 expose events, it
paints the correct pixels.

The .emacs file above inclues a "toggle-frames-color-scheme" function
that flips between light and dark backgrounds.  This makes it easy to
reproduce the display problem, and it shows that the damage is
independent of the particular background color.


In GNU Emacs 24.0.90.1 (i686-pc-linux-gnu, X toolkit)
 of 2011-10-01 on priss
Windowing system distributor `The X.Org Foundation', version 11.0.11101000
configured using `configure  '--with-x-toolkit=lucid' '--with-gif=no' '--with-rsvg=no' '--enable-font-backend' '--without-gconf' '--without-dbus' '--prefix=/home/sand/emacs24''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  auto-image-file-mode: t
  show-paren-mode: t
  icomplete-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> M-x r e p o r t SPC <return>

Recent messages:
Loading emacs-display-tty...done
Loaded emacs-display-tty in (0 0 4000)
Loading emacs-display-unix...done
Loaded emacs-display-unix in (0 0 8001)
Loading emacs-env-home...done
Loaded emacs-env-home in (0 0 8000)
Loading /home/sand/.elisp-local/emacs-local.el (source)...done
Loaded emacs-local in (0 0 0)
Loading .emacs...done
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
/home/sand/src/emacs/org-mode/lisp/ob-lisp hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-lisp
/home/sand/src/emacs/org-mode/lisp/ob-calc hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-calc
/home/sand/src/emacs/org-mode/lisp/org-attach hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-attach
/home/sand/src/emacs/org-mode/lisp/org-publish hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-publish
/home/sand/src/emacs/org-mode/lisp/ob-org hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-org
/home/sand/src/emacs/org-mode/lisp/ob-ledger hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-ledger
/home/sand/src/emacs/org-mode/lisp/org-xoxo hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-xoxo
/home/sand/src/emacs/org-mode/lisp/ob-ruby hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-ruby
/home/sand/src/emacs/org-mode/lisp/org-w3m hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-w3m
/home/sand/src/emacs/org-mode/lisp/org-info hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-info
/home/sand/src/emacs/org-mode/lisp/ob-scheme hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-scheme
/home/sand/src/emacs/org-mode/lisp/ob-keys hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-keys
/home/sand/src/emacs/org-mode/lisp/ob-C hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-C
/home/sand/src/emacs/org-mode/lisp/ob-sass hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-sass
/home/sand/src/emacs/org-mode/lisp/org-ascii hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-ascii
/home/sand/src/emacs/org-mode/lisp/org-exp hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-exp
/home/sand/src/emacs/org-mode/lisp/org-agenda hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-agenda
/home/sand/src/emacs/org-mode/lisp/ob-maxima hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-maxima
/home/sand/src/emacs/org-mode/lisp/org-colview hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-colview
/home/sand/src/emacs/org-mode/lisp/ob-css hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-css
/home/sand/src/emacs/org-mode/lisp/ob-matlab hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-matlab
/home/sand/src/emacs/org-mode/lisp/org-latex hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-latex
/home/sand/src/emacs/org-mode/lisp/ob-lilypond hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-lilypond
/home/sand/src/emacs/org-mode/lisp/org-docbook hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-docbook
/home/sand/src/emacs/org-mode/lisp/org-mac-message hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-mac-message
/home/sand/src/emacs/org-mode/lisp/org-rmail hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-rmail
/home/sand/src/emacs/org-mode/lisp/ob-ref hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-ref
/home/sand/src/emacs/org-mode/lisp/org-vm hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-vm
/home/sand/src/emacs/org-mode/lisp/org-src hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-src
/home/sand/src/emacs/org-mode/lisp/ob-emacs-lisp hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-emacs-lisp
/home/sand/src/emacs/org-mode/lisp/ob-table hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-table
/home/sand/src/emacs/org-mode/lisp/org-special-blocks hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-special-blocks
/home/sand/src/emacs/org-mode/lisp/org-icalendar hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-icalendar
/home/sand/src/emacs/org-mode/lisp/ob-sql hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-sql
/home/sand/src/emacs/org-mode/lisp/org-jsinfo hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-jsinfo
/home/sand/src/emacs/org-mode/lisp/ob-sh hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-sh
/home/sand/src/emacs/org-mode/lisp/org-macs hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-macs
/home/sand/src/emacs/org-mode/lisp/ob-perl hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-perl
/home/sand/src/emacs/org-mode/lisp/org-gnus hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-gnus
/home/sand/src/emacs/org-mode/lisp/ob-ditaa hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-ditaa
/home/sand/src/emacs/org-mode/lisp/org hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org
/home/sand/src/emacs/org-mode/lisp/ob-js hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-js
/home/sand/src/emacs/org-mode/lisp/ob-R hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-R
/home/sand/src/emacs/org-mode/lisp/ob-haskell hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-haskell
/home/sand/src/emacs/org-mode/lisp/org-pcomplete hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-pcomplete
/home/sand/src/emacs/org-mode/lisp/org-plot hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-plot
/home/sand/src/emacs/org-mode/lisp/ob-eval hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-eval
/home/sand/src/emacs/org-mode/lisp/org-freemind hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-freemind
/home/sand/src/emacs/org-mode/lisp/ob-gnuplot hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-gnuplot
/home/sand/src/emacs/org-mode/lisp/org-taskjuggler hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-taskjuggler
/home/sand/src/emacs/org-mode/lisp/ob-lob hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-lob
/home/sand/src/emacs/org-mode/lisp/org-archive hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-archive
/home/sand/src/emacs/org-mode/lisp/ob-ocaml hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-ocaml
/home/sand/src/emacs/org-mode/lisp/ob-awk hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-awk
/home/sand/src/emacs/org-mode/lisp/org-bibtex hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-bibtex
/home/sand/src/emacs/org-mode/lisp/org-list hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-list
/home/sand/src/emacs/org-mode/lisp/org-docview hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-docview
/home/sand/src/emacs/org-mode/lisp/org-inlinetask hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-inlinetask
/home/sand/src/emacs/org-mode/lisp/org-datetree hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-datetree
/home/sand/src/emacs/org-mode/lisp/org-exp-blocks hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-exp-blocks
/home/sand/src/emacs/org-mode/lisp/ob-tangle hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-tangle
/home/sand/src/emacs/org-mode/lisp/org-html hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-html
/home/sand/src/emacs/org-mode/lisp/ob-plantuml hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-plantuml
/home/sand/src/emacs/org-mode/lisp/org-mouse hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-mouse
/home/sand/src/emacs/org-mode/lisp/ob-dot hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-dot
/home/sand/src/emacs/org-mode/lisp/ob-python hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-python
/home/sand/src/emacs/org-mode/lisp/ob-java hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-java
/home/sand/src/emacs/org-mode/lisp/org-clock hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-clock
/home/sand/src/emacs/org-mode/lisp/org-timer hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-timer
/home/sand/src/emacs/org-mode/lisp/ob-sqlite hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-sqlite
/home/sand/src/emacs/org-mode/lisp/ob-octave hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-octave
/home/sand/src/emacs/org-mode/lisp/org-table hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-table
/home/sand/src/emacs/org-mode/lisp/org-feed hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-feed
/home/sand/src/emacs/org-mode/lisp/org-crypt hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-crypt
/home/sand/src/emacs/org-mode/lisp/org-irc hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-irc
/home/sand/src/emacs/org-mode/lisp/org-mobile hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-mobile
/home/sand/src/emacs/org-mode/lisp/org-remember hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-remember
/home/sand/src/emacs/org-mode/lisp/org-compat hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-compat
/home/sand/src/emacs/org-mode/lisp/ob-comint hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-comint
/home/sand/src/emacs/org-mode/lisp/org-beamer hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-beamer
/home/sand/src/emacs/org-mode/lisp/org-install hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-install
/home/sand/src/emacs/org-mode/lisp/ob-screen hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-screen
/home/sand/src/emacs/org-mode/lisp/org-bbdb hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-bbdb
/home/sand/src/emacs/org-mode/lisp/ob hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob
/home/sand/src/emacs/org-mode/lisp/ob-mscgen hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-mscgen
/home/sand/src/emacs/org-mode/lisp/org-mew hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-mew
/home/sand/src/emacs/org-mode/lisp/ob-clojure hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-clojure
/home/sand/src/emacs/org-mode/lisp/ob-latex hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-latex
/home/sand/src/emacs/org-mode/lisp/ob-asymptote hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-asymptote
/home/sand/src/emacs/org-mode/lisp/org-capture hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-capture
/home/sand/src/emacs/org-mode/lisp/org-entities hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-entities
/home/sand/src/emacs/org-mode/lisp/org-wl hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-wl
/home/sand/src/emacs/org-mode/lisp/org-habit hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-habit
/home/sand/src/emacs/org-mode/lisp/ob-exp hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/ob-exp
/home/sand/src/emacs/org-mode/lisp/org-mks hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-mks
/home/sand/src/emacs/org-mode/lisp/org-footnote hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-footnote
/home/sand/src/emacs/org-mode/lisp/org-id hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-id
/home/sand/src/emacs/org-mode/lisp/org-indent hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-indent
/home/sand/src/emacs/org-mode/lisp/org-ctags hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-ctags
/home/sand/src/emacs/org-mode/lisp/org-faces hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-faces
/home/sand/src/emacs/org-mode/lisp/org-mhe hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-mhe
/home/sand/src/emacs/org-mode/lisp/org-protocol hides /home/sand/emacs24/share/emacs/24.0.90/lisp/org/org-protocol

Features:
(shadow sort rfc1345 quail help-mode view gnus-util mail-extr message
format-spec rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mailabbrev mail-utils gmm-utils mailheader emacsbug ansi-color
org-install slime-autoloads regexp-opt image-file paren uniquify advice
help-fns advice-preload ido icomplete cl time-date tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer loaddefs button faces cus-face files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dynamic-setting
x-toolkit x multi-tty emacs)

-- 
Derek Upham
sand@blarg.net

             reply	other threads:[~2011-10-02  3:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-02  3:01 sand [this message]
2011-10-02 18:13 ` bug#9654: 24.0.90; X11 frame leaves garbage when changing background color Jan Djärv
2011-10-02 22:43   ` sand
2021-07-17 14:34 ` Lars Ingebrigtsen
2021-07-18  3:54   ` Derek Upham
2021-07-18 12:04     ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877h4oqepb.fsf@blarg.net \
    --to=sand@blarg.net \
    --cc=9654@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).