From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tim X Newsgroups: gmane.emacs.help Subject: Re: customizing emacs windows Date: Sat, 26 May 2007 13:29:36 +1000 Organization: Posted via Supernews, http://www.supernews.com Message-ID: <87fy5k5kkf.fsf@lion.rapttech.com.au> References: <4654BF17.1040009@gmail.com> <87odk95vuk.fsf@lion.rapttech.com.au> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: sea.gmane.org 1180150833 20341 80.91.229.12 (26 May 2007 03:40:33 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 26 May 2007 03:40:33 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat May 26 05:40:31 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Hrn8p-00059y-54 for geh-help-gnu-emacs@m.gmane.org; Sat, 26 May 2007 05:40:31 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Hrn8o-00011h-LW for geh-help-gnu-emacs@m.gmane.org; Fri, 25 May 2007 23:40:30 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!newsfeed.berkeley.edu!ucberkeley!sn-xt-sjc-02!sn-xt-sjc-01!sn-post-sjc-01!supernews.com!corp.supernews.com!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux) Cancel-Lock: sha1:6zp0ngz0I0kWd1MpHv6qsRQSZ1M= Original-X-Complaints-To: abuse@supernews.com Original-Lines: 64 Original-Xref: shelby.stanford.edu gnu.emacs.help:148854 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:44439 Archived-At: Ivan writes: > On петък, Май 25 2007, Ivan wrote: > >> First, thanks for your messages. Sorry if I wasn't quite clear in my >> request. I almost managed to achieve what I needed with simple >> Emacs-commands. I defined a function in .emacs that opens buffers and >> splits windows and I called that function on Emacs start. I used >> commands such as split-window-vertically, find-file, other-window and >> so on. It is not perfect because I have problems controlling which >> window which buffer to display as one of the things I start is - run >> Slime and Slime does some strange things with the windows. I also have >> problems controlling windows's sizes. >> >> My requirements are very simple for now - I need the Emacs frame >> devided into several windows with particular sizes. Each window should >> display a particular buffer. > > As a matter of fact what I'm trying to do is make Emacs provide an > integrated development environment for Lisp development like > Eclispe. I need several buffers: > 1. REPL > 2. Log output buffer > 3. Project's source files tree > 4. Web browser Something which may provide some ideas or some code you could borrow is the emacs window manager. I think it may be mentioned on the emacs wiki site (http://emacswiki.org) and at one time, I think there was a Debian package for it. >>From memory, it only works for XEmacs, but it may have some code or ideas you could use to create the function you want. Another possibility depends on your window manager. I use Sawfish, which is a light weight window manager written in 'rep', which is essentially a lisp dialect. However, it has support for window groups, named desktops etc and the ability to send specific windows to specific workspaces and positions. It would probably be possible to use a combination of emacs and rep to control frame placement and some emacs functions to divide up the frames according to how you want them. When using slime, I open three frames, send them to different workspaces and have a function key defined to switch between the frames. In one frame I have a buffer witht he source code in it, in another frame, I have the slime REPL and log window and in the third frame, I have w3m. I've thought about automating the whole process, but to be honest, haven't bothered because I restart emacs so rarely that its not really been necessary. I usually have about 15 different workspaces and different emacs frames on most of them. I then just switch between workspaces using two function keys or by moving the mouse to the left or right edge of the screen. A package able to open frames, divide them up into windows, associate specific buffers with the windows and distribute the frames over specific workspaces would be very handy. The ability to define 'groups' of such would be even more useful than just the ability to save your config on exit and restore it. Tim -- tcross (at) rapttech dot com dot au