DevHeads.net

Review Request: Remember current desktop when changing activity

Review request for KDE Runtime.

Description
Patches kactivitymanagerd to store (and restore back) the working current directory when switching activities.

The activity-changing-behavior is as follows:
1. Say you have two (or more activities) A and B.
2. You are working on activity A on Desktop 4.
3. You switch to activity B (and by default to Desktop 4).
4. Change to Desktop 1.
5. Go back to activity A and (by default) to Desktop 1, while it should move you to Desktop 4 (this is where my patch kicks in).

I hope it makes sense :-)

This addresses bugs 241864 and 265015.
<a href="http://bugs.kde.org/show_bug.cgi?id=241864" title="http://bugs.kde.org/show_bug.cgi?id=241864">http://bugs.kde.org/show_bug.cgi?id=241864</a>
<a href="http://bugs.kde.org/show_bug.cgi?id=265015" title="http://bugs.kde.org/show_bug.cgi?id=265015">http://bugs.kde.org/show_bug.cgi?id=265015</a>

Diffs
service/ActivityManager.cpp 7af2049
service/ActivityManager_p.h d054eb7

Diff: <a href="http://git.reviewboard.kde.org/r/104261/diff/" title="http://git.reviewboard.kde.org/r/104261/diff/">http://git.reviewboard.kde.org/r/104261/diff/</a>

Testing

Thanks,

makis marimpis

Comments

Re: Review Request: Remember current desktop when changing activ

By Rolf Eike Beer at 08/18/2012 - 12:00

Am Dienstag, 13. März 2012, 18:53:29 schrieb makis marimpis:
Your description: yes. The change: no. I've tried to get used to it now for
weeks. I find it utterly confusing the way it now is and it actually disturbs
my working whenever I switch activities.

Can we get a way to disable this? Doesn't even need a GUI in the first step.

My usage is like this: I have a set of virtual desktops, every has a special
meaning (e.g. 5 is konsole). It often happens that I want to just compare 2
similar things, so I e.g. got to desktop 5, look at the terminal, switch
activity and am not where I like to be. In general I do not know on which
desktop I have been in the activity 5 minutes before. What do I care? I don't
even remember. I know where I want to go now. Going back to a place I don't
remember has no meaning in that kind of workflow. I understand it may have for
other people using different workflows, but for me it actually confuses me when
I try to work.

Thinking a bit more I just do "I want a terminal" so I go to desktop 5. If
it's not the right one I switch to the other activity (I usually only have 2)
and end up "somewhere" which may only accidentially be the right place, but
usually isn't.

Greetings,

Eike

Re: Review Request: Remember current desktop when changing activ

By makis marimpis at 08/18/2012 - 13:19

Yeah i read a bug report about this (new) behavior. It would be fair to
support all perceptions of activities (because of their abstract meaning).
Ivan mentioned that in @4.10 there will be a KCM for activities, i believe
that we could add some kind of an option.

Makis

Re: Review Request: Remember current desktop when changing activ

By Rolf Eike Beer at 08/18/2012 - 13:25

Am Samstag, 18. August 2012, 20:19:55 schrieb makism:
As I said: adding it to just a config file first would be fine with me.

Eike

Re: Review Request: Remember current desktop when changing activ

By Michail V. at 08/18/2012 - 14:42

Στις 18/08/2012 08:25 μμ, ο/η Rolf Eike Beer έγραψε:
I dont want to intrude, I just want to ask a question, is the following
plasmoid
corresponds to your spesific workflow?
<a href="https://vimeo.com/45061682" title="https://vimeo.com/45061682">https://vimeo.com/45061682</a>
it's going to be released in about a month...

Regards,
Michail.

Re: Review Request: Remember current desktop when changing activ

By Rolf Eike Beer at 08/19/2012 - 06:36

Michail Vourlakos wrote:
No, I don't think so. I'm doing the switching using the keyboard (Alt+Number
for virtual desktops, Windoze+Tab to switch activities). In fact I never used
the plasma dashboard for anything.

Eike

Re: Review Request: Remember current desktop when changing activ

By makis marimpis at 03/14/2012 - 15:28

(Updated March 14, 2012, 7:28 p.m.)

Review request for KDE Runtime.

Changes
Added support for KConfigGroup storage and removed whitespaces.

Description
Patches kactivitymanagerd to store (and restore back) the working current directory when switching activities.

The activity-changing-behavior is as follows:
1. Say you have two (or more activities) A and B.
2. You are working on activity A on Desktop 4.
3. You switch to activity B (and by default to Desktop 4).
4. Change to Desktop 1.
5. Go back to activity A and (by default) to Desktop 1, while it should move you to Desktop 4 (this is where my patch kicks in).

I hope it makes sense :-)

This addresses bugs 241864 and 265015.
<a href="http://bugs.kde.org/show_bug.cgi?id=241864" title="http://bugs.kde.org/show_bug.cgi?id=241864">http://bugs.kde.org/show_bug.cgi?id=241864</a>
<a href="http://bugs.kde.org/show_bug.cgi?id=265015" title="http://bugs.kde.org/show_bug.cgi?id=265015">http://bugs.kde.org/show_bug.cgi?id=265015</a>

Diffs (updated)
service/ActivityManager.cpp 7af2049
service/ActivityManager_p.h d054eb7

Diff: <a href="http://git.reviewboard.kde.org/r/104261/diff/" title="http://git.reviewboard.kde.org/r/104261/diff/">http://git.reviewboard.kde.org/r/104261/diff/</a>

Testing

Thanks,

makis marimpis

Re: Review Request: Remember current desktop when changing activ

By makis marimpis at 03/15/2012 - 14:13

(Updated March 15, 2012, 6:13 p.m.)

Review request for KDE Runtime.

Description
Patches kactivitymanagerd to store (and restore back) the working current directory when switching activities.

The activity-changing-behavior is as follows:
1. Say you have two (or more activities) A and B.
2. You are working on activity A on Desktop 4.
3. You switch to activity B (and by default to Desktop 4).
4. Change to Desktop 1.
5. Go back to activity A and (by default) to Desktop 1, while it should move you to Desktop 4 (this is where my patch kicks in).

I hope it makes sense :-)

This addresses bugs 241864 and 265015.
<a href="http://bugs.kde.org/show_bug.cgi?id=241864" title="http://bugs.kde.org/show_bug.cgi?id=241864">http://bugs.kde.org/show_bug.cgi?id=241864</a>
<a href="http://bugs.kde.org/show_bug.cgi?id=265015" title="http://bugs.kde.org/show_bug.cgi?id=265015">http://bugs.kde.org/show_bug.cgi?id=265015</a>

Diffs
service/ActivityManager.cpp 7af2049
service/ActivityManager_p.h d054eb7

Diff: <a href="http://git.reviewboard.kde.org/r/104261/diff/" title="http://git.reviewboard.kde.org/r/104261/diff/">http://git.reviewboard.kde.org/r/104261/diff/</a>

Testing

Thanks,

makis marimpis

Re: Review Request: Remember current desktop when changing activ

By makis marimpis at 03/16/2012 - 03:40

(Updated March 16, 2012, 7:40 a.m.)

Review request for KDE Runtime and Plasma.

Changes
Added group "Plasma" to reviewers group as requested.

Description
Patches kactivitymanagerd to store (and restore back) the working current directory when switching activities.

The activity-changing-behavior is as follows:
1. Say you have two (or more activities) A and B.
2. You are working on activity A on Desktop 4.
3. You switch to activity B (and by default to Desktop 4).
4. Change to Desktop 1.
5. Go back to activity A and (by default) to Desktop 1, while it should move you to Desktop 4 (this is where my patch kicks in).

I hope it makes sense :-)

This addresses bugs 241864 and 265015.
<a href="http://bugs.kde.org/show_bug.cgi?id=241864" title="http://bugs.kde.org/show_bug.cgi?id=241864">http://bugs.kde.org/show_bug.cgi?id=241864</a>
<a href="http://bugs.kde.org/show_bug.cgi?id=265015" title="http://bugs.kde.org/show_bug.cgi?id=265015">http://bugs.kde.org/show_bug.cgi?id=265015</a>

Diffs
service/ActivityManager.cpp 7af2049
service/ActivityManager_p.h d054eb7

Diff: <a href="http://git.reviewboard.kde.org/r/104261/diff/" title="http://git.reviewboard.kde.org/r/104261/diff/">http://git.reviewboard.kde.org/r/104261/diff/</a>

Testing

Thanks,

makis marimpis

Re: Review Request: Remember current desktop when changing activ

By makis marimpis at 03/16/2012 - 07:55

(Updated March 16, 2012, 11:55 a.m.)

Review request for KDE Runtime and Plasma.

Changes
Update "if condition".

Description
Patches kactivitymanagerd to store (and restore back) the working current directory when switching activities.

The activity-changing-behavior is as follows:
1. Say you have two (or more activities) A and B.
2. You are working on activity A on Desktop 4.
3. You switch to activity B (and by default to Desktop 4).
4. Change to Desktop 1.
5. Go back to activity A and (by default) to Desktop 1, while it should move you to Desktop 4 (this is where my patch kicks in).

I hope it makes sense :-)

This addresses bugs 241864 and 265015.
<a href="http://bugs.kde.org/show_bug.cgi?id=241864" title="http://bugs.kde.org/show_bug.cgi?id=241864">http://bugs.kde.org/show_bug.cgi?id=241864</a>
<a href="http://bugs.kde.org/show_bug.cgi?id=265015" title="http://bugs.kde.org/show_bug.cgi?id=265015">http://bugs.kde.org/show_bug.cgi?id=265015</a>

Diffs (updated)
service/ActivityManager.cpp 7af2049
service/ActivityManager_p.h d054eb7

Diff: <a href="http://git.reviewboard.kde.org/r/104261/diff/" title="http://git.reviewboard.kde.org/r/104261/diff/">http://git.reviewboard.kde.org/r/104261/diff/</a>

Testing

Thanks,

makis marimpis

Re: Review Request: Remember current desktop when changing activ

By makis marimpis at 03/18/2012 - 05:22

(Updated March 18, 2012, 9:22 a.m.)

Review request for KDE Runtime and Plasma.

Changes
Updated to store/retrieve "activity <=> desktop id" only to/from KConfigGroup.
Seems to work just fine :-)

Description
Patches kactivitymanagerd to store (and restore back) the working current directory when switching activities.

The activity-changing-behavior is as follows:
1. Say you have two (or more activities) A and B.
2. You are working on activity A on Desktop 4.
3. You switch to activity B (and by default to Desktop 4).
4. Change to Desktop 1.
5. Go back to activity A and (by default) to Desktop 1, while it should move you to Desktop 4 (this is where my patch kicks in).

I hope it makes sense :-)

This addresses bugs 241864 and 265015.
<a href="http://bugs.kde.org/show_bug.cgi?id=241864" title="http://bugs.kde.org/show_bug.cgi?id=241864">http://bugs.kde.org/show_bug.cgi?id=241864</a>
<a href="http://bugs.kde.org/show_bug.cgi?id=265015" title="http://bugs.kde.org/show_bug.cgi?id=265015">http://bugs.kde.org/show_bug.cgi?id=265015</a>

Diffs (updated)
service/ActivityManager_p.h d054eb7
service/ActivityManager.cpp 7af2049

Diff: <a href="http://git.reviewboard.kde.org/r/104261/diff/" title="http://git.reviewboard.kde.org/r/104261/diff/">http://git.reviewboard.kde.org/r/104261/diff/</a>

Testing

Thanks,

makis marimpis

Re: Review Request: Remember current desktop when changing activ

By Commit Hook at 03/31/2012 - 13:27

This review has been submitted with commit 43b05d53caa0f382dcf88e6e9ec9d2b9d7c4fdae by Lamarque V. Souza to branch master.

- Commit Hook

On March 18, 2012, 9:22 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By Commit Hook at 03/31/2012 - 13:26

This review has been submitted with commit 6397ef5f8977af0d867c7ab72b0ccf8cb9011771 by Lamarque V. Souza to branch KDE/4.8.

- Commit Hook

On March 18, 2012, 9:22 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By Ivan Cukic at 03/21/2012 - 14:29

Ship it!

Ship It!

- Ivan Čukić

On March 18, 2012, 9:22 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By Ingo =?iso-8859... at 03/29/2012 - 17:01

You should have committed it with the REVIEW keyword. See <a href="http://techbase.kde.org/Policies/SVN_Commit_Policy#Special_keywords_in_SVN_log_messages" title="http://techbase.kde.org/Policies/SVN_Commit_Policy#Special_keywords_in_SVN_log_messages">http://techbase.kde.org/Policies/SVN_Commit_Policy#Special_keywords_in_S...</a> which also applies to Git.

- Ingo

On March 18, 2012, 9:22 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By makis marimpis at 03/21/2012 - 14:52

please forgive my ignorance, but should i close it as submitted or wait? :-)

- makis

On March 18, 2012, 9:22 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By Ivan Cukic at 03/16/2012 - 08:49

service/ActivityManager.cpp
<http://git.reviewboard.kde.org/r/104261/#comment9139>

Why do you want to keep these in memory?

- Ivan Čukić

On March 16, 2012, 11:55 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By David Faure at 03/18/2012 - 03:54

Not knowing the code around this, I would just like to point out that KConfig/KConfigGroup is already a "cache in memory". So, reading/writing should be fast. KConfig::sync is the slow bit (reading from disk if it was changed from the outside, then writing to disk).

Can't comment on "less error-prone" though, I don't know the activity code -- but indeed there's the general risk of a partial config read followed by a "save all", which loses everything that hadn't been read yet. Happened in old kmail far too many times.

- David

On March 16, 2012, 11:55 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By makis marimpis at 03/17/2012 - 12:18

Now i see your point.
I have implemented the same patch using only KConfigGroup but because of the "scheduleConfigSync" there is a case where the sync cannot keep up with the change of the activities - leading to a weird behavior (the changes are not yet made volatile).
That could be solved by calling "configSync" explicitly but that could affect the performace? (no idea).

To sum up: i think it is faster and less error-prone to store in memory and sync whenever sync is scheduled to, than to read/write whenever an activity is changed.

- makis

On March 16, 2012, 11:55 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By Ivan Cukic at 03/17/2012 - 07:51

You misunderstood, I don't mind saving it in the config file, I don't understand the need to keep all those in memory.

For example, Bob has 20 activities, usually uses only 3 of them. Why would you want to keep the rest of the VD IDs in memory?

Just read the VD ID when necessary.

As you can see, we are not keeping anything that is saved to a config file in memory apart from the list of activities. The names, icons etc. are read from the config when needed.

- Ivan

On March 16, 2012, 11:55 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By makis marimpis at 03/16/2012 - 09:00

Hm, i did that in order to restore the desktop ids from a previous run of kamd (let's say, in case of log out).

- makis

On March 16, 2012, 11:55 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By Aaron J. Seigo at 03/16/2012 - 07:49

generally looks good to me, save for one small issue.

service/ActivityManager.cpp
<http://git.reviewboard.kde.org/r/104261/#comment9136>

should also check for >= 0. also, this statement needs {}s, we use them even for single line conditionals :)

- Aaron J. Seigo

On March 16, 2012, 7:40 a.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By Christoph Feck at 03/15/2012 - 18:15

Could you please add group "Plasma" to reviewers?

- Christoph Feck

On March 15, 2012, 6:13 p.m., makis marimpis wrote:

Re: Review Request: Remember current desktop when changing activ

By Lamarque V. Souza at 03/13/2012 - 17:44

service/ActivityManager.cpp
<http://git.reviewboard.kde.org/r/104261/#comment9100>

remove trailing whitespace.

You should also save the desktop id in disk so that on next reboot kamd sets the currect desktop id. Just do

mainConfig().writeEntry("currentDesktop", desktopId);

here and read the value in ActivityManager::ActivityManager().

service/ActivityManager.cpp
<http://git.reviewboard.kde.org/r/104261/#comment9099>

remove trailing whitespace.

service/ActivityManager.cpp
<http://git.reviewboard.kde.org/r/104261/#comment9101>

remove trailing whitespace.

service/ActivityManager.cpp
<http://git.reviewboard.kde.org/r/104261/#comment9102>

remove trailing whitespace.

- Lamarque Vieira Souza

On March 13, 2012, 6:53 p.m., makis marimpis wrote: