Re: GTK+ at the UX Hackfest

2010-03-03 Thread Behdad Esfahbod
On 03/02/2010 05:55 PM, Filippo Argiolas wrote:
> Anyway, I still think that breadcrumb could be a subclass of this
> "button group" (a subclass widget *is* more complicated than the
> widget it subclasses), but maybe I didn't get the whole breadcrumb
> thing.

Just because a breadcrumb may be implemented as *using* a button group doesn't
mean it's a subclass of it.  A different looking implementation may use a
totally different configuration.

behdad
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-03 Thread Thomas Wood
On Wed, 2010-03-03 at 14:49 +0100, Carlos Garnacho wrote:
> Hi :),
> 
> On mié, 2010-03-03 at 11:45 +, Thomas Wood wrote:
> > On Wed, 2010-03-03 at 12:20 +0100, Carlos Garnacho wrote:
> > > Hi!,
> > > 
> > > On mié, 2010-03-03 at 00:03 +0100, Filippo Argiolas wrote:
> > > > On Tue, Mar 2, 2010 at 11:55 PM, Filippo Argiolas  
> > > > wrote:
> > > > 
> > > > [cut]
> > > > 
> > > > > Well it's not actually the radio functionality that I really care,
> > > > > that's easily implementable. It's more the custom container that can
> > > > > be themed to visually merge together several buttons. Once that's
> > > > > done, the buttons could behave like simple buttons (probably useless),
> > > > > toggle buttons or radio buttons. They would be just the usual buttons
> > > > > into a special container probably.
> > > > 
> > > > Look at Carlos post about theming hackfest too[1]. Point 3 really
> > > > seems to be exactly what I'm talking about.
> > > > 
> > > > 1. http://blogs.gnome.org/carlosg/2009/02/20/dublin-theming-hackfest/
> > > 
> > > The idea there is that current widgets/containers would be able to tell
> > > theme engines how do painted items visually connect each other. There
> > > would be no need for special containers or buttons, nor hacks in theme
> > > engines such as peeping into the parent widget GType.
> > 
> > 
> > I'm really not sure this is a good idea; it's really not expressive
> > enough to just say "this button is somehow related to this one" and let
> > themes decide what to do with it. Some themes might ignore it, some
> > themes might do what you expect and some themes may want to do something
> > completely different.
> 
> But we still have a painting API that's fully oriented to painting
> individual elements, and what we aren't advertising is that these calls
> aren't stateful in any way, you can call the very same function with the
> very same parameters in different widgets' expose handlers and get
> different results.

I think the "primitives" API is something we need to move away from. It
is a nice idea, but just doesn't work out in practice. Theme authors end
up special casing every widget available anyway in a rather hacky
work-around fashion because of the constraints imposed by the "elements"
method.

Owen already wrote his thoughts on a future theming API here:

http://mail.gnome.org/archives/gnome-themes-list/2008-July/msg00017.html

As someone being involved in gtk-themes for a long time, I have come to
the same conclusion. This is what I am working on for Monet.

In terms of default theme, I am more than happy to implement
Jakub/Hylke's mockups as the default theme for Monet. 

Regards,

Thomas

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-03 Thread Li Yuan
Mathias made the patch
(http://bugzilla-attachments.gnome.org/attachment.cgi?id=118981 ) to
make at-spi support XSettings.

>From a11y side, gail and atk-bridge/atk-adaptor, as GTK+ modules, should
be able to be loaded at any time. If there is no registry daemon
running, for CORBA version, at-spi-registryd will be started through
Bonobo activation (atk-bridge does this job); for D-Bus version,
at-spi2-registryd should be started through D-Bus activation
(atk-adaptor does this job).

There are also gnome_accessibility_module_shutdown functions for these
A11Y modules. Maybe we need a unified way to shutdown GTK+ modules.

Li


On Mon, 2010-03-01 at 17:38 +0100, Piñeiro wrote:
> From: Cosimo Cecchi 
> 
> > On Mon, 2010-03-01 at 16:44 +0100, Piñeiro wrote:
> > 
> >> In the gtk side, I don't know much about the XSettings, but I suppose
> >> that you are talking more general, and XSetting will manage all the
> >> gtk modules to be loaded (engines, and so on). So XSettings would have
> >> the lists of modules instead of the envvar, and inform to the
> >> applications that this setting has changed. In this case is just
> >> load/unload the a11y modules as any other gtk modules.
> > 
> > AFAIK GTK+ already reads the XSettings variable and loads modules
> > accordingly in gtk_init(). The filling of that property is currently
> > done by gnome-settings-daemon.
> 
> Yes, you are right, I have just made a quick search, thanks.
> 
> Probably people like Mathias Clasen, Li Yuan and Willie Walker knows
> more about xsettings and a11y relation. After another quick search on
> the bugzilla, I found some interesting (and resolved) bugs about this
> issue:
> 
> https://bugzilla.gnome.org/show_bug.cgi?id=535827
> https://bugzilla.gnome.org/show_bug.cgi?id=565110
> https://bugzilla.gnome.org/show_bug.cgi?id=563943
> 
> ===
> API (apinhe...@igalia.com)
> ___
> gnome-accessibility-list mailing list
> gnome-accessibility-l...@gnome.org
> http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


RE: GTK+ at the UX Hackfest

2010-03-03 Thread Shawn Bakhtiar




Frankly Thomas has given the best opinion on this. The idea behind the widget 
set should be to provide the MINIMAL REQUIRED functionality to address the 
mundane job of programming you own interface. HOWEVER, IMHO, if you want the 
library to do everything for you, then it will become bloated (frankly I'm 
already loosing track off all the the new widgets). I'm sure if you ask around 
especially in this list, you can drum up thousands of widget requests (where 
individual programmers will want specif widget most of which will be only 
STYLISTICALLY different). 

Whatever the theme engine can not handle, you can certainly override the expose 
event, motion / button press events to create your own derived widget.

IE. Use a button box, override methods with your own specific methods. You can 
use the same process of adding and deleting buttons, etc but draw them 
yourself in the exact way you want.


  


 EMAILING FOR THE GREATER GOOD
Join me

> Subject: Re: GTK+ at the UX Hackfest
> From: t...@gnome.org
> To: carl...@gnome.org
> Date: Wed, 3 Mar 2010 11:45:33 +
> CC: jim...@novell.com; usabil...@gnome.org; gtk-devel-list@gnome.org; 
> wwal...@gnome.org; brats...@gnome.org; hylkeb...@gmail.com
> 
> On Wed, 2010-03-03 at 12:20 +0100, Carlos Garnacho wrote:
> > Hi!,
> > 
> > On mié, 2010-03-03 at 00:03 +0100, Filippo Argiolas wrote:
> > > On Tue, Mar 2, 2010 at 11:55 PM, Filippo Argiolas  
> > > wrote:
> > > 
> > > [cut]
> > > 
> > > > Well it's not actually the radio functionality that I really care,
> > > > that's easily implementable. It's more the custom container that can
> > > > be themed to visually merge together several buttons. Once that's
> > > > done, the buttons could behave like simple buttons (probably useless),
> > > > toggle buttons or radio buttons. They would be just the usual buttons
> > > > into a special container probably.
> > > 
> > > Look at Carlos post about theming hackfest too[1]. Point 3 really
> > > seems to be exactly what I'm talking about.
> > > 
> > > 1. http://blogs.gnome.org/carlosg/2009/02/20/dublin-theming-hackfest/
> > 
> > The idea there is that current widgets/containers would be able to tell
> > theme engines how do painted items visually connect each other. There
> > would be no need for special containers or buttons, nor hacks in theme
> > engines such as peeping into the parent widget GType.
> 
> 
> I'm really not sure this is a good idea; it's really not expressive
> enough to just say "this button is somehow related to this one" and let
> themes decide what to do with it. Some themes might ignore it, some
> themes might do what you expect and some themes may want to do something
> completely different.
> 
> If two buttons are supposed to be connected because of some interaction
> design, then this should be reflected in a widget explicitly designed to
> cater for that situation.
> 
> Regards,
> 
> Thomas
> 
> ___
> gtk-devel-list mailing list
> gtk-devel-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gtk-devel-list
  ___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-03 Thread Carlos Garnacho
Hi :),

On mié, 2010-03-03 at 11:45 +, Thomas Wood wrote:
> On Wed, 2010-03-03 at 12:20 +0100, Carlos Garnacho wrote:
> > Hi!,
> > 
> > On mié, 2010-03-03 at 00:03 +0100, Filippo Argiolas wrote:
> > > On Tue, Mar 2, 2010 at 11:55 PM, Filippo Argiolas  
> > > wrote:
> > > 
> > > [cut]
> > > 
> > > > Well it's not actually the radio functionality that I really care,
> > > > that's easily implementable. It's more the custom container that can
> > > > be themed to visually merge together several buttons. Once that's
> > > > done, the buttons could behave like simple buttons (probably useless),
> > > > toggle buttons or radio buttons. They would be just the usual buttons
> > > > into a special container probably.
> > > 
> > > Look at Carlos post about theming hackfest too[1]. Point 3 really
> > > seems to be exactly what I'm talking about.
> > > 
> > > 1. http://blogs.gnome.org/carlosg/2009/02/20/dublin-theming-hackfest/
> > 
> > The idea there is that current widgets/containers would be able to tell
> > theme engines how do painted items visually connect each other. There
> > would be no need for special containers or buttons, nor hacks in theme
> > engines such as peeping into the parent widget GType.
> 
> 
> I'm really not sure this is a good idea; it's really not expressive
> enough to just say "this button is somehow related to this one" and let
> themes decide what to do with it. Some themes might ignore it, some
> themes might do what you expect and some themes may want to do something
> completely different.

But we still have a painting API that's fully oriented to painting
individual elements, and what we aren't advertising is that these calls
aren't stateful in any way, you can call the very same function with the
very same parameters in different widgets' expose handlers and get
different results.

If this isn't really expressive, IMHO we should either find a way to
have all that the necessary information transfered to the engine so it
knows what to do without peeping outside its scope, or just have a
single gtk_paint_widget (widget*,x,y,width,height) call so everything is
in the theme engine scope :P (yes that's crack)

In the case where the widget might want to do something completely
different as you say, we're already screwed by API (theme engines never
get the whole picture). Ignoring such information would be fine though,
it would look pretty much like we're already used to.

> 
> If two buttons are supposed to be connected because of some interaction
> design, then this should be reflected in a widget explicitly designed to
> cater for that situation.

Yes, there should be an specific widget, and I think it should provide
the guidelines for its styling, but I don't think it should be fully
responsible of it.

Besides, this wouldn't help in the situation where you want similar
widgets to actually look similar. As an example, how many failed
attempts have there been about making a popup calendar widget that
looked like GtkComboBoxEntry on certain themes? Right now, widgets in
that situation need to become popular first, and then have special
checks added to popular theme engines to get an uniform look, that's
rarely happening outside GTK+ widget set.

Cheers,
  Carlos


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-03 Thread Filippo Argiolas
On Wed, Mar 3, 2010 at 1:14 PM, Filippo Argiolas  wrote:
> On Wed, Mar 3, 2010 at 12:58 PM, Bastien Nocera  wrote:
>> Right, so it's a theming change, and has nothing to do with the widgets
>> themselves.
> [CUT]
>> Again, you made it sound like you wanted a new widget when you actually
>> wanted a group of buttons to *look* like they were related.
>
> Right, my fault, reading what I wrote in the first mail I think I
> wasn't clear at all. Sorry.
>
>>> > My guess is that you could probably get this widget added to GTK+, as
>>> > long as you give a formal explanation as to why you're not using a radio
>>> > button for this.
>>>
>>> Well, the reason is simple, sexiness. Would you really put radio
>>> buttons into a toolbar?
>>
>> "Sexiness" isn't a good enough reason. Why do you use that widget in the
>> first place? Why not put radio buttons instead? (And this is a
>> rhetorical question for this list, as I mentioned, put this in bugzilla)
>
> Ok, I'll open a bug to track this proposal.

Bug filed: https://bugzilla.gnome.org/show_bug.cgi?id=611695
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-03 Thread Filippo Argiolas
On Wed, Mar 3, 2010 at 12:58 PM, Bastien Nocera  wrote:
> Right, so it's a theming change, and has nothing to do with the widgets
> themselves.
[CUT]
> Again, you made it sound like you wanted a new widget when you actually
> wanted a group of buttons to *look* like they were related.

Right, my fault, reading what I wrote in the first mail I think I
wasn't clear at all. Sorry.

>> > My guess is that you could probably get this widget added to GTK+, as
>> > long as you give a formal explanation as to why you're not using a radio
>> > button for this.
>>
>> Well, the reason is simple, sexiness. Would you really put radio
>> buttons into a toolbar?
>
> "Sexiness" isn't a good enough reason. Why do you use that widget in the
> first place? Why not put radio buttons instead? (And this is a
> rhetorical question for this list, as I mentioned, put this in bugzilla)

Ok, I'll open a bug to track this proposal.

Filippo
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-03 Thread Bastien Nocera
On Tue, 2010-03-02 at 23:55 +0100, Filippo Argiolas wrote:
> On Tue, Mar 2, 2010 at 1:22 PM, Bastien Nocera  wrote:
> > On Tue, 2010-03-02 at 13:06 +0100, Filippo Argiolas wrote:
> >> On Mon, Mar 1, 2010 at 3:57 PM, Bastien Nocera  wrote:
> >> > Heya,
> >> In Cheese we'd like to have something that I'd call ButtonGroup,
> >> ToggleButtonGroup or RadioButtonGroup, something like a breadcrumb
> >> (see e.g. screenshots at http://audidude.com/?p=27) but without the
> >> breadcrumb logic. Maybe the breadcrumb could be a subclass of
> >> this/these widget/widgets.
> >
> > Breadcrumb is probably more complicated than any of those, to be fair.
> 
> To be fair I don't think you completely got what I was trying to say.
> I cited the breadcrumb because it's usually visually styled as a group
> of buttons (that behave like radios plus some more complicated logic)
> grouped together into a "single big button" that contains several
> ones. If you look at the screenshots in that link I think it's pretty
> clear, I'd like a way to "visually merge" together several buttons
> into a grouping container. Look at this mockup too, it should make it
> clear enough:
> http://people.gnome.org/~fargiolas/toggle-button-mockup.png
> 
> Anyway, I still think that breadcrumb could be a subclass of this
> "button group" (a subclass widget *is* more complicated than the
> widget it subclasses), but maybe I didn't get the whole breadcrumb
> thing.

Right, so it's a theming change, and has nothing to do with the widgets
themselves.

> >> We would use it in the toolbar in the "mode selector"
> >> (gnome.org/~fargiolas/togglegroup.png), currently we use three toggle
> >> buttons related to three radio actions but it would be great to style
> >> them as a single widget.
> >> Anyone else would like a widget like this?
> >
> > Seems to me that this widget would be a sub-class of a RadioButton. It's
> > a toggle button that's part of a RadioButtonGroup.
> 
> Well it's not actually the radio functionality that I really care,
> that's easily implementable. It's more the custom container that can
> be themed to visually merge together several buttons. Once that's
> done, the buttons could behave like simple buttons (probably useless),
> toggle buttons or radio buttons. They would be just the usual buttons
> into a special container probably.

Again, you made it sound like you wanted a new widget when you actually
wanted a group of buttons to *look* like they were related.

> > My guess is that you could probably get this widget added to GTK+, as
> > long as you give a formal explanation as to why you're not using a radio
> > button for this.
> 
> Well, the reason is simple, sexiness. Would you really put radio
> buttons into a toolbar?

"Sexiness" isn't a good enough reason. Why do you use that widget in the
first place? Why not put radio buttons instead? (And this is a
rhetorical question for this list, as I mentioned, put this in bugzilla)

The point is that we want to have a trace with explanations as to why
widgets were added. My 2 last contributions in that space were the
volume button ("A lot of multimedia applications use copy/pasted code to
that effect, it works as a toolbar item, it provides consistent
behaviour and look across applications"), and a spinner widget (for
pretty much the same reasons).

At the end of the day, it could be a theming option you're talking
about, or a new widget (see the discussion between Carlos and Thomas).
For the latter, you'd need more than "it looks good".

> Hope I was more clear this time,
> Cheers,
> 
> Filippo


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-03 Thread Thomas Wood
On Wed, 2010-03-03 at 12:20 +0100, Carlos Garnacho wrote:
> Hi!,
> 
> On mié, 2010-03-03 at 00:03 +0100, Filippo Argiolas wrote:
> > On Tue, Mar 2, 2010 at 11:55 PM, Filippo Argiolas  
> > wrote:
> > 
> > [cut]
> > 
> > > Well it's not actually the radio functionality that I really care,
> > > that's easily implementable. It's more the custom container that can
> > > be themed to visually merge together several buttons. Once that's
> > > done, the buttons could behave like simple buttons (probably useless),
> > > toggle buttons or radio buttons. They would be just the usual buttons
> > > into a special container probably.
> > 
> > Look at Carlos post about theming hackfest too[1]. Point 3 really
> > seems to be exactly what I'm talking about.
> > 
> > 1. http://blogs.gnome.org/carlosg/2009/02/20/dublin-theming-hackfest/
> 
> The idea there is that current widgets/containers would be able to tell
> theme engines how do painted items visually connect each other. There
> would be no need for special containers or buttons, nor hacks in theme
> engines such as peeping into the parent widget GType.


I'm really not sure this is a good idea; it's really not expressive
enough to just say "this button is somehow related to this one" and let
themes decide what to do with it. Some themes might ignore it, some
themes might do what you expect and some themes may want to do something
completely different.

If two buttons are supposed to be connected because of some interaction
design, then this should be reflected in a widget explicitly designed to
cater for that situation.

Regards,

Thomas

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-03 Thread Carlos Garnacho
Hi!,

On mié, 2010-03-03 at 00:03 +0100, Filippo Argiolas wrote:
> On Tue, Mar 2, 2010 at 11:55 PM, Filippo Argiolas  wrote:
> 
> [cut]
> 
> > Well it's not actually the radio functionality that I really care,
> > that's easily implementable. It's more the custom container that can
> > be themed to visually merge together several buttons. Once that's
> > done, the buttons could behave like simple buttons (probably useless),
> > toggle buttons or radio buttons. They would be just the usual buttons
> > into a special container probably.
> 
> Look at Carlos post about theming hackfest too[1]. Point 3 really
> seems to be exactly what I'm talking about.
> 
> 1. http://blogs.gnome.org/carlosg/2009/02/20/dublin-theming-hackfest/

The idea there is that current widgets/containers would be able to tell
theme engines how do painted items visually connect each other. There
would be no need for special containers or buttons, nor hacks in theme
engines such as peeping into the parent widget GType.

Cheers,
  Carlos

> ___
> gtk-devel-list mailing list
> gtk-devel-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gtk-devel-list


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-02 Thread Filippo Argiolas
On Wed, Mar 3, 2010 at 5:23 AM, Christian Hergert  wrote:
> On Mar 2, 2010, at 2:55 PM, Filippo Argiolas wrote:
>> http://people.gnome.org/~fargiolas/toggle-button-mockup.png
>
> I don't want to detract from your conversation, but in case you haven't
> written up code for that toggle button mockup, I wrote one last year (in
> python, c, and c#).
>
> http://audidude.com/?p=61
> http://github.com/chergert/custom-gtk-widgets/tree/master/gtkmodebutton

Hi Christian, thanks for the links. I didn't write any code yet
because I'm still looking for the proper way to do it and I'd like to
use something integrated in gtk+ since the beginning.
About your widget, I looked into it some time ago.
I think it is basically an hack, a neat and sexy hack, don't get me
wrong, but still an hack. Particularly, it doesn't handle focus nor
keyboard navigation and the selected button doesn't look depressed as
buttons usually do but is shaded with the "selected" color.
Furthermore it breaks with some theme.
I could try to implement all of those things using your widget as a
base but I don't really think that would be the best way.
We already have buttons that work fine, we just need a way to group
them and tell the engine to style it properly. We have widgets that
work like that, GtkComboBoxEntry e.g. uses a simple button for the
drop down arrow button and it's the theme engine that styles it
properly to have a straight edge where it connects with the entry.

Cheers,
Filippo
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-02 Thread Christian Hergert


On Mar 2, 2010, at 2:55 PM, Filippo Argiolas wrote:

To be fair I don't think you completely got what I was trying to say.
I cited the breadcrumb because it's usually visually styled as a group
of buttons (that behave like radios plus some more complicated logic)
grouped together into a "single big button" that contains several
ones. If you look at the screenshots in that link I think it's pretty
clear, I'd like a way to "visually merge" together several buttons
into a grouping container. Look at this mockup too, it should make it
clear enough:
http://people.gnome.org/~fargiolas/toggle-button-mockup.png


I don't want to detract from your conversation, but in case you  
haven't written up code for that toggle button mockup, I wrote one  
last year (in python, c, and c#).


http://audidude.com/?p=61
http://github.com/chergert/custom-gtk-widgets/tree/master/gtkmodebutton

Cheers,

-- Christian

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-02 Thread Filippo Argiolas
On Tue, Mar 2, 2010 at 11:55 PM, Filippo Argiolas  wrote:

[cut]

> Well it's not actually the radio functionality that I really care,
> that's easily implementable. It's more the custom container that can
> be themed to visually merge together several buttons. Once that's
> done, the buttons could behave like simple buttons (probably useless),
> toggle buttons or radio buttons. They would be just the usual buttons
> into a special container probably.

Look at Carlos post about theming hackfest too[1]. Point 3 really
seems to be exactly what I'm talking about.

1. http://blogs.gnome.org/carlosg/2009/02/20/dublin-theming-hackfest/
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-02 Thread Filippo Argiolas
On Tue, Mar 2, 2010 at 1:22 PM, Bastien Nocera  wrote:
> On Tue, 2010-03-02 at 13:06 +0100, Filippo Argiolas wrote:
>> On Mon, Mar 1, 2010 at 3:57 PM, Bastien Nocera  wrote:
>> > Heya,
>> In Cheese we'd like to have something that I'd call ButtonGroup,
>> ToggleButtonGroup or RadioButtonGroup, something like a breadcrumb
>> (see e.g. screenshots at http://audidude.com/?p=27) but without the
>> breadcrumb logic. Maybe the breadcrumb could be a subclass of
>> this/these widget/widgets.
>
> Breadcrumb is probably more complicated than any of those, to be fair.

To be fair I don't think you completely got what I was trying to say.
I cited the breadcrumb because it's usually visually styled as a group
of buttons (that behave like radios plus some more complicated logic)
grouped together into a "single big button" that contains several
ones. If you look at the screenshots in that link I think it's pretty
clear, I'd like a way to "visually merge" together several buttons
into a grouping container. Look at this mockup too, it should make it
clear enough:
http://people.gnome.org/~fargiolas/toggle-button-mockup.png

Anyway, I still think that breadcrumb could be a subclass of this
"button group" (a subclass widget *is* more complicated than the
widget it subclasses), but maybe I didn't get the whole breadcrumb
thing.

>> We would use it in the toolbar in the "mode selector"
>> (gnome.org/~fargiolas/togglegroup.png), currently we use three toggle
>> buttons related to three radio actions but it would be great to style
>> them as a single widget.
>> Anyone else would like a widget like this?
>
> Seems to me that this widget would be a sub-class of a RadioButton. It's
> a toggle button that's part of a RadioButtonGroup.

Well it's not actually the radio functionality that I really care,
that's easily implementable. It's more the custom container that can
be themed to visually merge together several buttons. Once that's
done, the buttons could behave like simple buttons (probably useless),
toggle buttons or radio buttons. They would be just the usual buttons
into a special container probably.

> My guess is that you could probably get this widget added to GTK+, as
> long as you give a formal explanation as to why you're not using a radio
> button for this.

Well, the reason is simple, sexiness. Would you really put radio
buttons into a toolbar?

Hope I was more clear this time,
Cheers,

Filippo
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Theming migration proposal [Was: Re: GTK+ at the UX Hackfest]

2010-03-02 Thread Carlos Garnacho
Hi!,

On lun, 2010-03-01 at 14:57 +, Bastien Nocera wrote:



> Theming
> ---
> 
> Just a couple of opened questions:
> - GTK+ 3.0 theme. How final are the widget set used in the various
> mockups that were posted during the UX hackfest? Cody mentioned that
> this is something he might be able to allocate some time for. Thomas
> Wood might be able to help (though he was non-committal when we
> mentioned it during the hackfest)

Recently I've started working again on refining the ideas that sprung
from the Dublin theming hackfest. I've written down the proposal in:

http://live.gnome.org/CarlosGarnacho/ThemingProposal

The main benefit I see in this approach is that it would allow
incremental development. After the main infrastructure and the new
theming API are in place, any missing items (newer rc files syntax, use
all api features in widgets, updating engines) could be done pretty much
independently.

Although there's not much code put together yet, a lot can be taken from
what was started back then [1], so I'm quite positive that I may have
something tangible within weeks.

Cheers,
  Carlos

[1] http://github.com/garnacho/gtk/tree/style-context


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-02 Thread Bastien Nocera
On Tue, 2010-03-02 at 13:06 +0100, Filippo Argiolas wrote:
> On Mon, Mar 1, 2010 at 3:57 PM, Bastien Nocera  wrote:
> > Heya,
> Hey,
> 
> > Widgets
> > ---
> >
> > Having often used widgets in GTK+ means that we reduce differences in
> > appearance and behaviour between applications and make applications
> > easier to maintain.
> >
> > If the APIs are carefully thought of, usability and design changes can
> > be made without touching the applications.
> >
> > A couple of widgets were mentioned:
> > - a sidebar widget (which I never followed-up on):
> > https://bugzilla.gnome.org/show_bug.cgi?id=307044
> > - a breadcrumb navigation widget (which could be used in nautilus, the
> > file chooser and yelp, for example)
> > No bugs filed, Cody will be working on filing a bug, and start
> > discussions about the API soon
> > - Segmented bar? It's used in Rhythmbox, Banshee, the Ubuntu installer
> > and could probably be used in others
> > There's a C version in Rhythmbox now:
> > https://bugzilla.gnome.org/show_bug.cgi?id=558576
> > - Others?
> 
> In Cheese we'd like to have something that I'd call ButtonGroup,
> ToggleButtonGroup or RadioButtonGroup, something like a breadcrumb
> (see e.g. screenshots at http://audidude.com/?p=27) but without the
> breadcrumb logic. Maybe the breadcrumb could be a subclass of
> this/these widget/widgets.

Breadcrumb is probably more complicated than any of those, to be fair.

> We would use it in the toolbar in the "mode selector"
> (gnome.org/~fargiolas/togglegroup.png), currently we use three toggle
> buttons related to three radio actions but it would be great to style
> them as a single widget.
> Anyone else would like a widget like this?

Seems to me that this widget would be a sub-class of a RadioButton. It's
a toggle button that's part of a RadioButtonGroup.

My guess is that you could probably get this widget added to GTK+, as
long as you give a formal explanation as to why you're not using a radio
button for this.

Cheers

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-02 Thread Bastien Nocera
On Mon, 2010-03-01 at 17:38 +0100, Piñeiro wrote:
> From: Cosimo Cecchi 
> 
> > On Mon, 2010-03-01 at 16:44 +0100, Piñeiro wrote:
> > 
> >> In the gtk side, I don't know much about the XSettings, but I suppose
> >> that you are talking more general, and XSetting will manage all the
> >> gtk modules to be loaded (engines, and so on). So XSettings would have
> >> the lists of modules instead of the envvar, and inform to the
> >> applications that this setting has changed. In this case is just
> >> load/unload the a11y modules as any other gtk modules.
> > 
> > AFAIK GTK+ already reads the XSettings variable and loads modules
> > accordingly in gtk_init(). The filling of that property is currently
> > done by gnome-settings-daemon.
> 
> Yes, you are right, I have just made a quick search, thanks.
> 
> Probably people like Mathias Clasen, Li Yuan and Willie Walker knows
> more about xsettings and a11y relation. After another quick search on
> the bugzilla, I found some interesting (and resolved) bugs about this
> issue:

I should have mentioned that it's Willie I was talking to last week, and
that brought up this potential problem.

Matthias told me that the XSettings are already
instant-apply/instant-load, so that's not the problem for an
instant-apply a11y, registration is more likely the problem.

Cheers

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-02 Thread Filippo Argiolas
On Mon, Mar 1, 2010 at 3:57 PM, Bastien Nocera  wrote:
> Heya,
Hey,

> Widgets
> ---
>
> Having often used widgets in GTK+ means that we reduce differences in
> appearance and behaviour between applications and make applications
> easier to maintain.
>
> If the APIs are carefully thought of, usability and design changes can
> be made without touching the applications.
>
> A couple of widgets were mentioned:
> - a sidebar widget (which I never followed-up on):
> https://bugzilla.gnome.org/show_bug.cgi?id=307044
> - a breadcrumb navigation widget (which could be used in nautilus, the
> file chooser and yelp, for example)
> No bugs filed, Cody will be working on filing a bug, and start
> discussions about the API soon
> - Segmented bar? It's used in Rhythmbox, Banshee, the Ubuntu installer
> and could probably be used in others
> There's a C version in Rhythmbox now:
> https://bugzilla.gnome.org/show_bug.cgi?id=558576
> - Others?

In Cheese we'd like to have something that I'd call ButtonGroup,
ToggleButtonGroup or RadioButtonGroup, something like a breadcrumb
(see e.g. screenshots at http://audidude.com/?p=27) but without the
breadcrumb logic. Maybe the breadcrumb could be a subclass of
this/these widget/widgets.
We would use it in the toolbar in the "mode selector"
(gnome.org/~fargiolas/togglegroup.png), currently we use three toggle
buttons related to three radio actions but it would be great to style
them as a single widget.
Anyone else would like a widget like this?

Ciao,
Filippo
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-01 Thread Piñeiro
From: Cosimo Cecchi 

> On Mon, 2010-03-01 at 16:44 +0100, Piñeiro wrote:
> 
>> In the gtk side, I don't know much about the XSettings, but I suppose
>> that you are talking more general, and XSetting will manage all the
>> gtk modules to be loaded (engines, and so on). So XSettings would have
>> the lists of modules instead of the envvar, and inform to the
>> applications that this setting has changed. In this case is just
>> load/unload the a11y modules as any other gtk modules.
> 
> AFAIK GTK+ already reads the XSettings variable and loads modules
> accordingly in gtk_init(). The filling of that property is currently
> done by gnome-settings-daemon.

Yes, you are right, I have just made a quick search, thanks.

Probably people like Mathias Clasen, Li Yuan and Willie Walker knows
more about xsettings and a11y relation. After another quick search on
the bugzilla, I found some interesting (and resolved) bugs about this
issue:

https://bugzilla.gnome.org/show_bug.cgi?id=535827
https://bugzilla.gnome.org/show_bug.cgi?id=565110
https://bugzilla.gnome.org/show_bug.cgi?id=563943

===
API (apinhe...@igalia.com)
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-01 Thread Cosimo Cecchi
On Mon, 2010-03-01 at 16:44 +0100, Piñeiro wrote:

> In the gtk side, I don't know much about the XSettings, but I suppose
> that you are talking more general, and XSetting will manage all the
> gtk modules to be loaded (engines, and so on). So XSettings would have
> the lists of modules instead of the envvar, and inform to the
> applications that this setting has changed. In this case is just
> load/unload the a11y modules as any other gtk modules.

AFAIK GTK+ already reads the XSettings variable and loads modules
accordingly in gtk_init(). The filling of that property is currently
done by gnome-settings-daemon.

Cheers,

Cosimo

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+ at the UX Hackfest

2010-03-01 Thread Piñeiro
From: Bastien Nocera 

CCing gnome-accessibility list, as probably I will forgot several
things.

> - a11y instant-on (if not instant-off)
> a11y is enabled in applications when the XSettings mention that the GTK+
> modules should be loaded. We could make GTK+ programs instant-apply the
> XSettings (what applications would be breaking? Could we whitelist a11y
> to be the only one auto-loaded? Can we make the change for GTK+ 3.0?)
> 
> The other problem is that application need to initialise themselves, and
> register with the at-spi bus to appear in things like screen readers.
> 
> Could somebody with more knowledge on the subject tell me what changes
> would be necessary for a11y to become instant-apply?

The initalization can be done at any moment (and as you said, made by
the application themselves). Right now gtk apps require to load gail
and atk-bridge modules, so they just need to load this modules using
gmodule, and then call the method gtk_module_init (although the method
gnome_accessibility_module_init is also provided).

At this moment, to made that more easy, this is done during the
gtk_init, as it load the gtk modules reading the envar GTK_MODULES (as
far as I undertand, the idea now is avoid that and start to use
XSettings).

About the unload, there are also a method
gnome_accessibility_module_shutdown (but not gtk_module_shutdown one),
so it would be just call this method and unload the modules.

So in theory, no changes should be required from the a11y modules,
except, perhaps, add a gtk_module_shutdown method, in order to be more
general.

In the gtk side, I don't know much about the XSettings, but I suppose
that you are talking more general, and XSetting will manage all the
gtk modules to be loaded (engines, and so on). So XSettings would have
the lists of modules instead of the envvar, and inform to the
applications that this setting has changed. In this case is just
load/unload the a11y modules as any other gtk modules.

Anyway, there are some applications that made that in a custom way.
The main example is firefox. As they have some custom a11y thingies,
they override this procedure (ie loading by hand the atk bridge). So
if firefox wants to use the XSettings solution he would require to
rewrite that part, and from the gtk side, it should allow a process to
be overriden. Firefox created a log of headaches in this aspect. More
information and several cross-bugs here [1]

Other issue is that the at-spi daemon (corba or dbus) must be running
before the application load the modules (one part of this a11y
initialization from the application side is register on at-spi).

This can be tricky on the first application that want to instant-on
the a11y, and it would require to check if the daemon is running, and
if not, execute that. The other module part are general (just load gtk
modules when required) but this step requires specific code.

BR

[1] 
http://mail.gnome.org/archives/gnome-accessibility-list/2009-January/msg00030.html

===
API (apinhe...@igalia.com)
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list