[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Feeling lost without tabs

From: Drew Adams
Subject: RE: Feeling lost without tabs
Date: Tue, 22 Jul 2014 10:03:35 -0700 (PDT)

> I think dealing with frames in windows/mac is much more difficult than
> in linux.  In windows, having multiple frames open will overfill the
> taskbar.

I'm using MS Windows 7, before that I used Windows XP, and in both
cases all of my Emacs frames are iconified to the same, single Emacs
icon in the task bar.  I have one such icon per Emacs session.

This is controlled by this Windows setting:

Right-click the task bar > Properties > Taskbar buttons:
                                        "Always combine, hide labels"

> Window managers in Linux are more powerful and have better ways of
> dealing with multiple frames by virtual desktops or iconifying
> windows.

I assume you mean iconifying to the desktop (rather than what Windows
does, which is iconify to the task bar).  OT1H, you complain that
Windows iconification fills up the task bar, and OTOH you tout other
managers filling up the desktop.  Hmm.  (Granted, there is more space
on the desktop than on the taskbar.)

FWIW, on both MS Windows and GNU/Linux I iconify frames to the desktop
whenever I want, using `C-z' (which also deiconifies).  And I can make
those icons any size I want.  And those icons are actually miniature,
functioning Emacs frames - thumbnail frames.  (They are not
window-manager icons.)  I can search in them, watch log messages stream
through them, scroll them,...

But mainly I just use them to organize the frames I am currently working
with the most.  Attached are images of (a) a thumbnail frame and (b) the
same, stretched to show more of the buffer.  (From the size and position
of the scroll-bar thumb you can tell that this is a large file.)

> Some usefuld keybindings for dealing with frames:
> (global-set-key [f4] 'delete-frame)  ;originally bound to call-kbd-macro
> (global-set-key [C-f4] 'delete-frame)

Suggestion: don't waste a repeatable key on an operation that you won't
repeat (i.e., hold the key down for).  Just use the predefined `C-x 5 0'.

> If you like frames you can make almost evertyhing pop up in a new
> frame and not have the default screen splitting-in-2 behaviour
> (setq pop-up-frames t)   ;;; everything is opened in a new frame.
> You will never again see a split screen unless you ask explicitly for
> it with C-x 2.

Yes; `pop-up-frames' is good.  Unfortunately, Emacs Dev considers
this simple user convenience to be obsolete, and invites you to
instead jump through the gymnastic, labyrinthine hoops of the
epicyclic option `display-buffer-alist'.  Fortunately, `pop-up-frames'
still works fine, for the time being...

And if you use non-nil `pop-up-frames' then you might prefer to let
`C-x 0' delete the frame when the frame has only one window.  That is
what the advised version of `delete-window' in `frame-cmds.el' does:

(defadvice delete-window (around delete-frame-if-one-win activate)
  "If WINDOW is the only one in its frame, then `delete-frame' too."
    (select-window (or (ad-get-arg 0)  (selected-window)))
    (if (one-window-p t) (delete-frame) ad-do-it)))

> That has its drawbacks, like completition buffers popping up in
> a new frame.

The main problem with that is that the `*Completions*' frame needs
to have its input focus redirected to the frame with the current
minibuffer.  Library `oneonone.el' optionally does that, and it
optionally uses a standalone minibuffer frame.

In addition, vanilla Emacs is still pretty poor at removing the
display of `*Completions*' when it is no longer useful.  Icicles
takes care of this, whether or not the display is in its own frame.

> (setq frame-auto-hide-function 'delete-frame)

Yes, again.  That's my choice too.

Attachment: throw-thumbnail-frame.png
Description: PNG image

Attachment: throw-thumbnail-frame-stretched.png
Description: PNG image

reply via email to

[Prev in Thread] Current Thread [Next in Thread]