Bug 182987 - Add arbitrary actions option in desktop screen edges
Summary: Add arbitrary actions option in desktop screen edges
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: core (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 211299 293011 294924 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-02-03 13:25 UTC by A. Mosteo
Modified: 2014-12-12 07:17 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description A. Mosteo 2009-02-03 13:25:28 UTC
Version:            (using KDE 4.2.0)
OS:                Linux
Installed from:    Ubuntu Packages

There's this feature with so much potential:

systemsettings -> Desktop -> Screen Edges.

Alas, there the selection is limited to a fixed combobox of options. It would be great to be able to set up any command; this could be used then for anything that you can imagine.

Even so, other common actions could be ready for use for not-command-line-savvy users: obvious examples are lock desktop of old unix tradition and show desktop / dashboard.
Comment 1 Martin Flöser 2009-09-06 22:08:18 UTC
show desktop/dashboard are both available already.

For a general solution: I think that should be integrated with the new mouse gesture/key shortcuts kcm in 4.3. There we have everything already.
Comment 2 Martin Flöser 2009-10-21 08:13:11 UTC
*** Bug 211299 has been marked as a duplicate of this bug. ***
Comment 3 Thomas Lübking 2012-03-16 22:46:30 UTC
*** Bug 293011 has been marked as a duplicate of this bug. ***
Comment 4 Thomas Lübking 2012-03-16 22:47:08 UTC
this shall include electric border switching
Comment 5 Martin Flöser 2012-05-06 19:05:23 UTC
*** Bug 294924 has been marked as a duplicate of this bug. ***
Comment 6 Martin Flöser 2013-01-31 16:49:58 UTC
KWin Scripting allows to register screen edges and to perform D-Bus calls. Overall that means: arbitrary actions on screen edges are possible.
Comment 7 tieskey 2014-12-11 15:36:35 UTC
Yeah, and C++ allows for kernel customization so it possible to turn linux into windows.... 

Sorry but that is not a valid response to a request to enhance a GUI feature. This is not a programmer requesting an api, just an end user looking for a solution he/she would be able to use.
Comment 8 Thomas Lübking 2014-12-11 16:12:27 UTC
(In reply to tieskey from comment #7)
Are you the OP?
Otherwise I wonder how you pretend to know whether "This is not a programmer requesting an api, just an end user"?

FYI: From OP: "obvious examples are lock desktop of old unix tradition and show desktop / dashboard."
All three items /are/ available.

Allowing a user to add a random binary call there means to allow him to shoot himself - a very minor javascriptlet barrier seems more than reasonable to me in this regard.

=> If you actually desire a particular action you assume to be reasonable to invoke from the screen corner for the common user, I'd suggest to specify that.
So far you've added no additional information/reasoning but merely necrobumped a 5 year old topic.



> Yeah, and C++ allows for kernel customization so it possible to turn linux
> into windows.... 

FYI: The linux kernel is written in C, not C++ (btw: "to scare you off") and you could neither turn a kernel into an operating system nor turn "POSIX near" linux into the NT kernel - no matter how good your C skills are.
Comment 9 tieskey 2014-12-11 16:28:23 UTC
I necrobumped it indeed because I wanted to open a very very similar bug and seemed better to stick to an already existing one. 
I'm a system engineer myself, the example I gave was just for making up the point that saying it is possible to program a script is no solution to a GUI user and did not mean it to be realistic in any sense. Expending half your answer explaining (criticizing it), does not add anything to the bug either.

I didn't add anything because there nothing to add, is a new feature request, there's no stack traces nor logs to post.

I strongly disagree with "Allowing a user to add a random binary call there means to allow him to shoot himself". We already have this power with hotkeys and nobody has died so far. Idk what are you exactly referring to as a "binary call", but the op, as a final user, was clearly understanding "arbitrary actions" as pretty much what we can do with hotkeys and mouse gestures (running apps, dbus calls). 
I'm sure you understood the op as well but instead abused your technical language to try to deviate the topic.

If you think I should open a new request rephrasing the op to be clear what "arbitrary actions" mean then I'll do so. (Actually, I'll just do it once I go back from work)
Comment 10 Martin Flöser 2014-12-11 16:35:35 UTC
> If you think I should open a new request rephrasing the op to be clear what "arbitrary actions" mean then I'll do so. (Actually, I'll just do it once I go back from work)

no need to do so. That won't be implemented. I consider it a sufficient solution to have this as a KWin script without exposing in the UI. It's a very advanced feature, thus it doesn't need to be added to the GUI.
Comment 11 Thomas Lübking 2014-12-11 16:52:41 UTC
(In reply to tieskey from comment #9)

> I strongly disagree with "Allowing a user to add a random binary call there
> means to allow him to shoot himself". We already have this power with
> hotkeys and nobody has died so far.

There's a major difference in that the screenedges rely on cursor movements, warps and timings and all that being cofigurable on top.
Call anything that grabs or warps the cursor and you're easily locked in an infinite loop.
Comment 12 tieskey 2014-12-11 22:50:00 UTC
(In reply to Thomas Lübking from comment #11)
> (In reply to tieskey from comment #9)
> 
> > I strongly disagree with "Allowing a user to add a random binary call there
> > means to allow him to shoot himself". We already have this power with
> > hotkeys and nobody has died so far.
> 
> There's a major difference in that the screenedges rely on cursor movements,
> warps and timings and all that being cofigurable on top.
> Call anything that grabs or warps the cursor and you're easily locked in an
> infinite loop.

Well, that looks a lot more like a suitable answer.

But the same could be said about hotkeys, I could call some script or program that keeps spaming keys, or burns my cpu, it should not be of your concern.
I don't really see the difference with any other event. It is just a OnMouseOver, you execute whatever action binded only once when the pointers enters the area, standard behavior since ages.
How do you deal with the current available actions?

(In reply to Thomas Lübking from comment #10)
Giving low priority and staling features request based on demand and available men power is reasonable. Rejecting ideas just because you think is sufficient as it is now, is not. It actually has the potential to end up annoying your whole user base and making the project go in the wrong direction. Anyway, if you won't consider at least adding this to a wish list and you have the required authority to make the call, there's nothing more for me to say. I just hope that attitude is not dominant in your labs.
Comment 13 Martin Flöser 2014-12-12 07:17:02 UTC
> (In reply to Thomas Lübking from comment #10)
> Giving low priority and staling features request based on demand and
> available men power is reasonable. Rejecting ideas just because you think
> is sufficient as it is now, is not. It actually has the potential to end up
> annoying your whole user base and making the project go in the wrong
> direction. Anyway, if you won't consider at least adding this to a wish
> list and you have the required authority to make the call, there's nothing
> more for me to say. I just hope that attitude is not dominant in your labs.

Please note that we in general do not allow wish list items which we don't 
intend to work on. If someone else things that this is a required feature: 
open your editor and write it. Preferable as a KWin script with a config 
interface to enter all that it wants. That can then be distributed through 
GHNS and no code in KWin needs to be touched for it.