;; -*- lexical-binding: t; -*- (defun glitching-square (x y) (tool-bar-mode -1) (menu-bar-mode -1) (let* ((width 200) (height 200) (frame (make-frame `((parent-frame . ,(selected-frame)) (minibuffer . nil) (left . ,x) (top . ,y) (internal-border-width . 0) (vertical-scroll-bars . nil) (left-fringe . 0) (right-fringe . 0) (no-special-glyphs . t) ; see #52929 ;; not setting the width/height causes ;; mode line flickering (see #52666) (width . (text-pixels . ,width)) (height . (text-pixels . ,height))))) (buf (get-buffer-create "showing the text"))) (set-face-attribute 'default frame :height 12) (set-frame-width frame width nil t) (set-frame-height frame height nil t) (with-selected-frame frame (switch-to-buffer buf) (erase-buffer) (let* ((line (make-string width ?1)) (data (format "P1\n%s %s\n%s" width height (mapconcat (lambda (x) line) (make-string height ?.) "\n")))) (insert-image `(image :type pbm :data ,data :ascent center) "t")) (setq cursor-type nil mode-line-format nil)) frame)) (let ((f (glitching-square 0 0))) (read-key) (delete-frame f))