Re: Pager (was: "QML Places design discussion")

2013-02-13 Thread Mark
On Wed, Feb 13, 2013 at 6:51 PM, Rick Stockton
 wrote:
>
> On 02/13/2013 06:51 AM, Mark wrote:
>> On Wed, Feb 13, 2013 at 3:24 PM, Aaron J. Seigo  wrote:
>>> On Tuesday, February 12, 2013 15:59:36 Mark wrote:
 I understand your reasoning, but i don't think you should do this. In
 my opinion a plasmoid - and certainly one that's on the panel - should
 never be invisible but still take up room.
>>> i think we can all agree that an empty space is a bug that needs to be 
>>> fixed.
>>>
>>> so, on to the question of "should we have a pager at all", "should the pager
>>> hide itself when it shows one desktop", etc.
>>>
>>> some people use multiple virtual desktops (vd). some people don't. in fact,
>>> the default is not to. with the default, the first group of people add more
>>> desktops as one of the first things they do.
>>>
>>> for the overwhelming majority of those with one vd, having a pager is worse
>>> than useless, it is downright confusing and takes up space on the panel. so
>>> we'd like to not show a pager for those people.
>>>
>>> for those who do .. it's a bit annoying to then also suggest that they have 
>>> to
>>> add a pager to their panel if they want one. how magical would it be if it
>>> just appeared? this is simply a way to give people more comfort and less to
>>> complain about.
>>>
>>> not everyone who uses multiple VDs enjoys or needs a pager. they can remove 
>>> it
>>> easily. (this is important to what follows ...)
>>>
>>> so .. how can that accomplished? we could add a pager on demand when the
>>> number of desktops changes. however, this would mean tracking this probably 
>>> in
>>> the containment .. and then it would need to know where to put it .. and 
>>> we'd
>>> need a way to override this behaviour for distros that want something
>>> different.
>>>
>>> it would also need to be smart enough to know that if it already put one 
>>> there
>>> and the user removed it once before, don't add it again.
>>>
>>> it's all pretty complex. it also breaks the concept of components in plasma
>>> and couples (even if loosely) the containment (or whatever component watches
>>> this) to the pager applet.
>>>
>>> well, we could go ALL OUT and add an event based scripting system so that 
>>> when
>>> a given event happens a given script is run. we'd have to define (and 
>>> trigger)
>>> various events (e.g. "more virtual desktops") and we'd have to have a way to
>>> match up scripts with triggers ... and .. it's a whole hell of a lot of work
>>> (and would need to be maintained) for one small feature.
>>>
>>> but there's a pragmatic solution:
>>>
>>> hide the fucking thing when there is only one vd.
>>>
>>> this covers the "i've removed it once, don't want it back" use case. it 
>>> covers
>>> swapping between 1 and 2+ VDs. it respects component lines.
>>>
>>> so .. we now have the problem of "i only have one virtual desktop, but i 
>>> want
>>> to add a pager". with the current pragmatic solution this isn't possible. i
>>> can imagine a few approaches to this:
>>>
>>> * hide the pager applet in the chooser when there is only 1 VD. this isn't
>>> great as it means if you have only 1 VD you don't get a pager ever. it also
>>> means lots of instrumentation in the chooser (and probably more stuff in the
>>> applet .desktop files) to make this happen. -1
>>>
>>> * put a configuration option in the pager which controls the "hide when VD 
>>> ==
>>> 1" behaviour. this could be a hidden config value defaulting to off, 
>>> allowing it
>>> to be used by the default panel script .. or it could be in the UI, making 
>>> it
>>> easy to set whenever.
>>>
>>> personally, i lean towards hidden config. if you want a pager that's always
>>> visible, just add one.
> Please let me understand how the hidden config gets set:
>
> (1) hidden in a .kde/share/config file, which must be hand-edited to
> assure Pager's presence in the panel if VD is set to only one. Or;
>
> (2) the value is automatically changed ("single vd pager = on", or
> whatever ...) by the User Action of explicitly pulling Pager Applet from
> the Applet Chooser and placing it on the Panel, without regard to the
> number of VD at that moment.
>
> I think that #2 is better: ui configuration files should generally be
> set by User Actions. Until pulled into the Panel, setting this parameter
> value, the 'Pager' should be automatically removed if VD is reduced to
> 1, or if VD defaults to 1. I think that 'System Settings' is sufficient
> for changing the number of VDs when Pager is not visible. (Option: The
> VD configuration menu items could also be added into the desktop item,
> too... the number of submenus and menu items which are now present in
> the desktop menu is quite small.)
>
> I agree with Aaron, we should not even insist that the Pager be visible
> in the case of VD > 1. So, we perhaps need another config parameter to
> remember that choice (or, a single tri-value parameter). We should
> provide a pair of checkboxes to 

Re: Pager (was: "QML Places design discussion")

2013-02-13 Thread Rick Stockton

On 02/13/2013 06:51 AM, Mark wrote:
> On Wed, Feb 13, 2013 at 3:24 PM, Aaron J. Seigo  wrote:
>> On Tuesday, February 12, 2013 15:59:36 Mark wrote:
>>> I understand your reasoning, but i don't think you should do this. In
>>> my opinion a plasmoid - and certainly one that's on the panel - should
>>> never be invisible but still take up room.
>> i think we can all agree that an empty space is a bug that needs to be fixed.
>>
>> so, on to the question of "should we have a pager at all", "should the pager
>> hide itself when it shows one desktop", etc.
>>
>> some people use multiple virtual desktops (vd). some people don't. in fact,
>> the default is not to. with the default, the first group of people add more
>> desktops as one of the first things they do.
>>
>> for the overwhelming majority of those with one vd, having a pager is worse
>> than useless, it is downright confusing and takes up space on the panel. so
>> we'd like to not show a pager for those people.
>>
>> for those who do .. it's a bit annoying to then also suggest that they have 
>> to
>> add a pager to their panel if they want one. how magical would it be if it
>> just appeared? this is simply a way to give people more comfort and less to
>> complain about.
>>
>> not everyone who uses multiple VDs enjoys or needs a pager. they can remove 
>> it
>> easily. (this is important to what follows ...)
>>
>> so .. how can that accomplished? we could add a pager on demand when the
>> number of desktops changes. however, this would mean tracking this probably 
>> in
>> the containment .. and then it would need to know where to put it .. and we'd
>> need a way to override this behaviour for distros that want something
>> different.
>>
>> it would also need to be smart enough to know that if it already put one 
>> there
>> and the user removed it once before, don't add it again.
>>
>> it's all pretty complex. it also breaks the concept of components in plasma
>> and couples (even if loosely) the containment (or whatever component watches
>> this) to the pager applet.
>>
>> well, we could go ALL OUT and add an event based scripting system so that 
>> when
>> a given event happens a given script is run. we'd have to define (and 
>> trigger)
>> various events (e.g. "more virtual desktops") and we'd have to have a way to
>> match up scripts with triggers ... and .. it's a whole hell of a lot of work
>> (and would need to be maintained) for one small feature.
>>
>> but there's a pragmatic solution:
>>
>> hide the fucking thing when there is only one vd.
>>
>> this covers the "i've removed it once, don't want it back" use case. it 
>> covers
>> swapping between 1 and 2+ VDs. it respects component lines.
>>
>> so .. we now have the problem of "i only have one virtual desktop, but i want
>> to add a pager". with the current pragmatic solution this isn't possible. i
>> can imagine a few approaches to this:
>>
>> * hide the pager applet in the chooser when there is only 1 VD. this isn't
>> great as it means if you have only 1 VD you don't get a pager ever. it also
>> means lots of instrumentation in the chooser (and probably more stuff in the
>> applet .desktop files) to make this happen. -1
>>
>> * put a configuration option in the pager which controls the "hide when VD ==
>> 1" behaviour. this could be a hidden config value defaulting to off, 
>> allowing it
>> to be used by the default panel script .. or it could be in the UI, making it
>> easy to set whenever.
>>
>> personally, i lean towards hidden config. if you want a pager that's always
>> visible, just add one.
Please let me understand how the hidden config gets set:

(1) hidden in a .kde/share/config file, which must be hand-edited to
assure Pager's presence in the panel if VD is set to only one. Or;

(2) the value is automatically changed ("single vd pager = on", or
whatever ...) by the User Action of explicitly pulling Pager Applet from
the Applet Chooser and placing it on the Panel, without regard to the
number of VD at that moment.

I think that #2 is better: ui configuration files should generally be
set by User Actions. Until pulled into the Panel, setting this parameter
value, the 'Pager' should be automatically removed if VD is reduced to
1, or if VD defaults to 1. I think that 'System Settings' is sufficient
for changing the number of VDs when Pager is not visible. (Option: The
VD configuration menu items could also be added into the desktop item,
too... the number of submenus and menu items which are now present in
the desktop menu is quite small.)

I agree with Aaron, we should not even insist that the Pager be visible
in the case of VD > 1. So, we perhaps need another config parameter to
remember that choice (or, a single tri-value parameter). We should
provide a pair of checkboxes to set/unset the property(s) value
explicitly, too. (Because KDE is know for being MORE configurable and
customize-able, in comparison to another DE. Not LESS configurable.)
 

** now back to quoting Aaro