* RE: Gtk tabs in emacs, new branch.
@ 2010-04-13 19:53 grischka
2010-04-13 23:31 ` Side windows (was: Gtk tabs in emacs, new branch.) Juri Linkov
0 siblings, 1 reply; 13+ messages in thread
From: grischka @ 2010-04-13 19:53 UTC (permalink / raw)
To: drew.adams; +Cc: emacs-devel
> It's not clear to me, for example, what you mean by tabs (necessarily)
> doing the same thing to different objects.
See, tabs are defined by their shape, more by their placement and
mostly by their action. Which is to "switch content in the associated
window". If it does not perform this action then it is not a tabs
control but just a row of buttons.
To give another example: A scrollbar is defined mostly by its action
to "scroll content in the associated window". Of course you could use
the scrollbar widget just as well to adjust your speaker volume, but
then it wouldn't be a scrollbar, even if it looked like one.
Aside from that it is completely unnecessary and boring to overload
widgets with alien functionality. If for example you like to have
a row of buttons to switch color themes in the buffer, then well,
just use a row of (possibly colored) buttons.
--- grischka
^ permalink raw reply [flat|nested] 13+ messages in thread
* Side windows (was: Gtk tabs in emacs, new branch.)
2010-04-13 19:53 Gtk tabs in emacs, new branch grischka
@ 2010-04-13 23:31 ` Juri Linkov
2010-04-14 3:18 ` Eli Zaretskii
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Juri Linkov @ 2010-04-13 23:31 UTC (permalink / raw)
To: grischka; +Cc: drew.adams, emacs-devel
> To give another example: A scrollbar is defined mostly by its action
> to "scroll content in the associated window". Of course you could use
> the scrollbar widget just as well to adjust your speaker volume, but
> then it wouldn't be a scrollbar, even if it looked like one.
There is a task in etc/TODO:
** Compilation error navigation bar, parallel to the scroll bar,
indicating where in the buffer there are compilation errors.
Perhaps we could arrange to display these error indications on top
of the scroll bar itself. That depends on to what extent toolkit
scroll bars are extensible.
If it's possible to display such tab-like indications
on the scroll bar, is it still called a scroll bar?
If it's not possible, then what is an alternative?
Maybe, 1-column side bar windows?
--
Juri Linkov
http://www.jurta.org/emacs/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows (was: Gtk tabs in emacs, new branch.)
2010-04-13 23:31 ` Side windows (was: Gtk tabs in emacs, new branch.) Juri Linkov
@ 2010-04-14 3:18 ` Eli Zaretskii
2010-04-14 15:24 ` Side windows Jason Rumney
2010-04-14 5:15 ` Jan Djärv
2010-04-16 14:03 ` grischka
2 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2010-04-14 3:18 UTC (permalink / raw)
To: Juri Linkov; +Cc: grishka, drew.adams, emacs-devel
> From: Juri Linkov <juri@jurta.org>
> Date: Wed, 14 Apr 2010 02:31:30 +0300
> Cc: drew.adams@oracle.com, emacs-devel@gnu.org
>
> There is a task in etc/TODO:
>
> ** Compilation error navigation bar, parallel to the scroll bar,
> indicating where in the buffer there are compilation errors.
> Perhaps we could arrange to display these error indications on top
> of the scroll bar itself. That depends on to what extent toolkit
> scroll bars are extensible.
>
> If it's possible to display such tab-like indications
> on the scroll bar, is it still called a scroll bar?
>
> If it's not possible, then what is an alternative?
> Maybe, 1-column side bar windows?
The fringe, I think.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-13 23:31 ` Side windows (was: Gtk tabs in emacs, new branch.) Juri Linkov
2010-04-14 3:18 ` Eli Zaretskii
@ 2010-04-14 5:15 ` Jan Djärv
2010-04-16 14:03 ` grischka
2 siblings, 0 replies; 13+ messages in thread
From: Jan Djärv @ 2010-04-14 5:15 UTC (permalink / raw)
To: Juri Linkov; +Cc: grischka, drew.adams, emacs-devel
Juri Linkov skrev 2010-04-14 01.31:
>> To give another example: A scrollbar is defined mostly by its action
>> to "scroll content in the associated window". Of course you could use
>> the scrollbar widget just as well to adjust your speaker volume, but
>> then it wouldn't be a scrollbar, even if it looked like one.
>
> There is a task in etc/TODO:
>
> ** Compilation error navigation bar, parallel to the scroll bar,
> indicating where in the buffer there are compilation errors.
> Perhaps we could arrange to display these error indications on top
> of the scroll bar itself. That depends on to what extent toolkit
> scroll bars are extensible.
>
> If it's possible to display such tab-like indications
> on the scroll bar, is it still called a scroll bar?
>
> If it's not possible, then what is an alternative?
> Maybe, 1-column side bar windows?
>
As Eli already said, the fringe. Scrollbars aren't the place for this.
How do you know when to remove these indications?
Jan D.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-14 3:18 ` Eli Zaretskii
@ 2010-04-14 15:24 ` Jason Rumney
2010-04-14 16:52 ` Juri Linkov
0 siblings, 1 reply; 13+ messages in thread
From: Jason Rumney @ 2010-04-14 15:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Juri Linkov, grishka, drew.adams, emacs-devel
Eli Zaretskii <eliz@gnu.org> writes:
>> ** Compilation error navigation bar, parallel to the scroll bar,
>> indicating where in the buffer there are compilation errors.
>> Perhaps we could arrange to display these error indications on top
>> of the scroll bar itself. That depends on to what extent toolkit
>> scroll bars are extensible.
>>
>> If it's possible to display such tab-like indications
>> on the scroll bar, is it still called a scroll bar?
>>
>> If it's not possible, then what is an alternative?
>> Maybe, 1-column side bar windows?
>
> The fringe, I think.
The fringe nearest the scroll-bar is the right place to display the
indicators I think, but we need a new mechanism to display them, as they
should not scroll with the buffer text.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-14 15:24 ` Side windows Jason Rumney
@ 2010-04-14 16:52 ` Juri Linkov
2010-04-14 18:19 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Juri Linkov @ 2010-04-14 16:52 UTC (permalink / raw)
To: Jason Rumney; +Cc: Eli Zaretskii, grishka, drew.adams, emacs-devel
>>> ** Compilation error navigation bar, parallel to the scroll bar,
>>> indicating where in the buffer there are compilation errors.
>>> Perhaps we could arrange to display these error indications on top
>>> of the scroll bar itself. That depends on to what extent toolkit
>>> scroll bars are extensible.
>>>
>>> If it's possible to display such tab-like indications
>>> on the scroll bar, is it still called a scroll bar?
>>>
>>> If it's not possible, then what is an alternative?
>>> Maybe, 1-column side bar windows?
>>
>> The fringe, I think.
>
> The fringe nearest the scroll-bar is the right place to display the
> indicators I think, but we need a new mechanism to display them, as they
> should not scroll with the buffer text.
Does this mean an additional fringe is necessary that doesn't scroll?
Then we have the same question as with multiple header lines:
whether to allow multiple fringes and header lines or implement them
as true windows placed on the left or on the top of the base window.
Using windows will allow implementing emulations of the scroll bar
like minimap.el, etc. I'm not sure whether this is possible to do
with additional fringes?
--
Juri Linkov
http://www.jurta.org/emacs/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-14 16:52 ` Juri Linkov
@ 2010-04-14 18:19 ` Eli Zaretskii
2010-04-14 23:54 ` Juri Linkov
0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2010-04-14 18:19 UTC (permalink / raw)
To: Juri Linkov; +Cc: grishka, emacs-devel, drew.adams, jasonr
> From: Juri Linkov <juri@jurta.org>
> Cc: Eli Zaretskii <eliz@gnu.org>, grishka@gmx.de, drew.adams@oracle.com, emacs-devel@gnu.org
> Date: Wed, 14 Apr 2010 19:52:01 +0300
>
> >>> ** Compilation error navigation bar, parallel to the scroll bar,
> >>> indicating where in the buffer there are compilation errors.
> >>> Perhaps we could arrange to display these error indications on top
> >>> of the scroll bar itself. That depends on to what extent toolkit
> >>> scroll bars are extensible.
> >>>
> >>> If it's possible to display such tab-like indications
> >>> on the scroll bar, is it still called a scroll bar?
> >>>
> >>> If it's not possible, then what is an alternative?
> >>> Maybe, 1-column side bar windows?
> >>
> >> The fringe, I think.
> >
> > The fringe nearest the scroll-bar is the right place to display the
> > indicators I think, but we need a new mechanism to display them, as they
> > should not scroll with the buffer text.
>
> Does this mean an additional fringe is necessary that doesn't scroll?
Not necessarily. We could provide a feature whereby bitmaps displayed
in the fringe would be moved by redisplay so that their position
relative to the window top does not change as the window is scrolled.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-14 18:19 ` Eli Zaretskii
@ 2010-04-14 23:54 ` Juri Linkov
2010-04-15 3:18 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Juri Linkov @ 2010-04-14 23:54 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: grishka, emacs-devel, drew.adams, jasonr
>> >>> Maybe, 1-column side bar windows?
>> >>
>> >> The fringe, I think.
>> >
>> > The fringe nearest the scroll-bar is the right place to display the
>> > indicators I think, but we need a new mechanism to display them, as
>> > they should not scroll with the buffer text.
>>
>> Does this mean an additional fringe is necessary that doesn't scroll?
>
> Not necessarily. We could provide a feature whereby bitmaps displayed
> in the fringe would be moved by redisplay so that their position
> relative to the window top does not change as the window is scrolled.
Currently fringe positions are relative to lines (to indicate truncated
lines, continued lines, overlay arrows, etc.)
Using it to indicate window relative positions like scroll bars do
will make a mess in the same fringe.
--
Juri Linkov
http://www.jurta.org/emacs/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-14 23:54 ` Juri Linkov
@ 2010-04-15 3:18 ` Eli Zaretskii
2010-04-15 23:46 ` Juri Linkov
0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2010-04-15 3:18 UTC (permalink / raw)
To: Juri Linkov; +Cc: grishka, emacs-devel, drew.adams, jasonr
> From: Juri Linkov <juri@jurta.org>
> Cc: jasonr@gnu.org, grishka@gmx.de, drew.adams@oracle.com, emacs-devel@gnu.org
> Date: Thu, 15 Apr 2010 02:54:21 +0300
>
> Currently fringe positions are relative to lines (to indicate truncated
> lines, continued lines, overlay arrows, etc.)
>
> Using it to indicate window relative positions like scroll bars do
> will make a mess in the same fringe.
The proposed bitmap is very small (thin), AFAIU, so I'm not sure the
mess would be quite as big as you seem to fear. Overlay arrows are on
the left fringe, so they do not contribute to the mess at all. We
could enlarge the right fringe (in compilation-mode) to make the mess
even smaller.
An alternative could be to use the margin for this. Its advantage is
that it will also work on a TTY. But I think this would be a larger
job because currently margins are not clickable, while the fringe is.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-15 3:18 ` Eli Zaretskii
@ 2010-04-15 23:46 ` Juri Linkov
2010-04-16 6:33 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Juri Linkov @ 2010-04-15 23:46 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: grishka, emacs-devel, drew.adams, jasonr
> The proposed bitmap is very small (thin), AFAIU, so I'm not sure the
> mess would be quite as big as you seem to fear. Overlay arrows are on
> the left fringe, so they do not contribute to the mess at all. We
> could enlarge the right fringe (in compilation-mode) to make the mess
> even smaller.
This practically means multi-column fringes. Maybe the same suggests
implementing the multi-line header line instead of multiple header lines
or multiple header windows.
--
Juri Linkov
http://www.jurta.org/emacs/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-15 23:46 ` Juri Linkov
@ 2010-04-16 6:33 ` Eli Zaretskii
0 siblings, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2010-04-16 6:33 UTC (permalink / raw)
To: Juri Linkov; +Cc: grishka, emacs-devel, drew.adams, jasonr
> From: Juri Linkov <juri@jurta.org>
> Cc: jasonr@gnu.org, grishka@gmx.de, drew.adams@oracle.com, emacs-devel@gnu.org
> Date: Fri, 16 Apr 2010 02:46:17 +0300
>
> > The proposed bitmap is very small (thin), AFAIU, so I'm not sure the
> > mess would be quite as big as you seem to fear. Overlay arrows are on
> > the left fringe, so they do not contribute to the mess at all. We
> > could enlarge the right fringe (in compilation-mode) to make the mess
> > even smaller.
>
> This practically means multi-column fringes.
No, it doesn't. I wasn't suggesting to have more than one bitmap on
the fringe at the same place (I think this is impossible with today's
code). I was just saying that the visual appearance would not be as
bad as it may sound.
> Maybe the same suggests implementing the multi-line header line
> instead of multiple header lines or multiple header windows.
I don't think so. The current display engine does not support a
notion of glyph rows that are more than one glyph tall. And since
each glyph comes from some font, you cannot have two of them together,
unless you either (a) craft a font with combination of 2 characters in
it, or (b) make some composition rules to compose them into a single
glyph.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-13 23:31 ` Side windows (was: Gtk tabs in emacs, new branch.) Juri Linkov
2010-04-14 3:18 ` Eli Zaretskii
2010-04-14 5:15 ` Jan Djärv
@ 2010-04-16 14:03 ` grischka
2010-04-16 20:48 ` Juri Linkov
2 siblings, 1 reply; 13+ messages in thread
From: grischka @ 2010-04-16 14:03 UTC (permalink / raw)
To: Juri Linkov; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 711 bytes --]
Juri Linkov wrote:
> There is a task in etc/TODO:
>
> ** Compilation error navigation bar, parallel to the scroll bar,
> indicating where in the buffer there are compilation errors.
> Perhaps we could arrange to display these error indications on top
> of the scroll bar itself. That depends on to what extent toolkit
> scroll bars are extensible.
>
> If it's possible to display such tab-like indications
> on the scroll bar, is it still called a scroll bar?
>
> If it's not possible, then what is an alternative?
> Maybe, 1-column side bar windows?
WinMerge and KDiff3 have a "sort of" scrollbar with transparent thumb
used to indicate (and jump to) the regions with differences.
See picture.
[-- Attachment #2: wmind.png --]
[-- Type: image/png, Size: 4270 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Side windows
2010-04-16 14:03 ` grischka
@ 2010-04-16 20:48 ` Juri Linkov
0 siblings, 0 replies; 13+ messages in thread
From: Juri Linkov @ 2010-04-16 20:48 UTC (permalink / raw)
To: grischka; +Cc: emacs-devel
>> ** Compilation error navigation bar, parallel to the scroll bar,
>> indicating where in the buffer there are compilation errors.
>> Perhaps we could arrange to display these error indications on top
>> of the scroll bar itself. That depends on to what extent toolkit
>> scroll bars are extensible.
>>
>> If it's possible to display such tab-like indications
>> on the scroll bar, is it still called a scroll bar?
>>
>> If it's not possible, then what is an alternative?
>> Maybe, 1-column side bar windows?
>
> WinMerge and KDiff3 have a "sort of" scrollbar with transparent thumb
> used to indicate (and jump to) the regions with differences.
>
> See picture.
This is definitely impossible to do in fringes with today's code.
But using the same technique as is used by palette.el
http://www.emacswiki.org/emacs/ColorPalette to create pseudo-graphics
in a side window it should be doable.
--
Juri Linkov
http://www.jurta.org/emacs/
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2010-04-16 20:48 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-13 19:53 Gtk tabs in emacs, new branch grischka
2010-04-13 23:31 ` Side windows (was: Gtk tabs in emacs, new branch.) Juri Linkov
2010-04-14 3:18 ` Eli Zaretskii
2010-04-14 15:24 ` Side windows Jason Rumney
2010-04-14 16:52 ` Juri Linkov
2010-04-14 18:19 ` Eli Zaretskii
2010-04-14 23:54 ` Juri Linkov
2010-04-15 3:18 ` Eli Zaretskii
2010-04-15 23:46 ` Juri Linkov
2010-04-16 6:33 ` Eli Zaretskii
2010-04-14 5:15 ` Jan Djärv
2010-04-16 14:03 ` grischka
2010-04-16 20:48 ` Juri Linkov
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).