This forum has been archived. All content is frozen. Please use KDE Discuss instead.

[Discussion] CSD & SSD

Tags: None
(comma "," separated)
Lachu
Registered Member
Posts
864
Karma
1
OS

[Discussion] CSD & SSD

Fri Dec 16, 2022 2:03 pm
This post is to start discussion about take CSD and SSD together.

First assumption is, worst thing in CSD is that app could broke. Another bad thing is not displaying window title.

I think, that eliminating first problem could be implement watchdog into window manager. When window do not response for events sending to CSD, window manager takes basic control and allow to drag window by left-click or open menu by right-click.

Another idea is to eliminating SSD and CSD at all. When right mouse button is preset and user click left mouse button after, we allow to move window. No mater, where user use these mouse button. it could be middle of the window. When long-press right mouse button, window menu could appear. To disable this behavior until release each mouse buttons, user may do fast right-mouse-button click (after that he/she could click some mouse button and event supports by window manager for this window will be disabled until user release each mouse button).

What do you think. Take in mind second idea is not born from nothing. I suggest similar ideas many times and it was born by idea implementing in KDE4, where user could move window by left-click on empty space or image.


Lachu, proud to be a member of KDE forums since 2008-Nov.
dzon
Registered Member
Posts
493
Karma
3

Re: [Discussion] CSD & SSD

Fri Dec 16, 2022 7:02 pm
I don't use titlebars. I use the active window control widget for most of my controls. When available, there's a close button on a unmaximized window. Don't really need it, but hey. That being said, I'd wish they added the min/max buttons as an option to put on a toolbar. Or enable a possibility to create any type of toolbar button. Since you can drag around any window with super or alt I don't see a real need for dragging a window from, say, the url bar. A while back, a user complained about the drag menu entry, which, true, is somewhere in a submenu. So, I created a drag service menu at the time, which is in the right click context menu, and does exactly that, dragging. Unfortunately, since it's a service menu, it only works in dolphin. But, you can also make a desktop application for it which you can put on your panel ( which takes space). So yeah, having this type of option, a drag button on toolbars of windows that don't have grab 'n drag space would be nice ( that is, if you don't want to use alt/super, just mouse).
https://imgur.com/a/NZub4kv
https://imgur.com/a/azbudjg
Ps: For some reason, both the service menu and desktop application, although they emulate the keybinding, do NOT maximize the window. Using the physical keybind or alt/super+mouse do, but for some reason, these two don't. Like I said, in terms of window buttons I use the active window control widget ( that text part left on the panel) which is set to mouse up/down to max/unmax the active window. I only use the close button on that one, but you can add max/min too if you like.


This realm's name is Maya. And she speaks Hertz. But Ahamkara makes a fuzz about it.
Lachu
Registered Member
Posts
864
Karma
1
OS

Re: [Discussion] CSD & SSD

Sat Dec 17, 2022 11:33 am
Ok. You are quite right, but I prefer to use only mouse (without pressing SUPER key).

https://i.imgur.com/UBO1hMp.png

Maybe I do not fully understood you, cause my English is bad. I use active Window Control with Plasma 5.26 . I can edit controls on panel. Maybe do you use old version of Plasma or Plasmoid?


Lachu, proud to be a member of KDE forums since 2008-Nov.
dzon
Registered Member
Posts
493
Karma
3

Re: [Discussion] CSD & SSD

Sat Dec 17, 2022 2:07 pm
This has nothing to do with the active window control. It's about moving a window around.If you don't want to use a super or alt key and a left-mouse, you can make a service menu for dolphin. But if you want an overall grab possibility ( in case you don't use titlebars), you'll need to make a desktop application. Kde devs seem to make a big deal about this csd. I don't get it. If a "close window" option is available for toolbars, why not add min/max and maybe a drag feature.
Anywho, if you want a drag option, besides a titlebar or empty space ( with alt or super), you'll need xdotool which will emulate the keybinding first. Then, set a keyboard shortcut for moving window in the system settings.
This is the service menu for dolphin ( as you can see, I've made alt+q as shortcut for move windows, do as you like). It goes in ~/.local/share/kservices5/ServiceMenus as whatever.desktop.


[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/all;
Actions=Moving;
Comment=Configure window movement options
X-KDE-Keywords=moving,smart,cascade,maximize,maximise,snap zone,snap,border
X-KDE-Priority=TopLevel

[Desktop Action Moving]
Name=Window Move
Icon=transform-move
Exec=xdotool key alt+q

And this is a desktop application which you can put on a panel. Yeah, it's a hassle, but if you only want to use mouse.... It goes in ~/.local/share/applications as whatever.desktop

[Desktop Entry]
Comment=
Exec=xdotool key alt+q
GenericName=move windows
Icon=input-mouse
Name=Move ****
NoDisplay=false
Path[$e]=
StartupNotify=true
Terminal=0
TerminalOptions=
Type=Application
X-KDE-SubstituteUID=false
X-KDE-Username=

Like I previously mentioned, both will show the drag cross whenever clicked. But for some reason I don't understand, dragging a window to the top ( like you normally would to maximize) doesn't work. It will not maximize. https://imgur.com/a/Zh94S6R

Btw, works in some tiler as well of course. This one's Bismuth: https://imgur.com/a/560zJuc When you are using a tiler, don't have titlebars and you want to move a window ( say, to master) without using keyboard, that application on your panel is the only option.


This realm's name is Maya. And she speaks Hertz. But Ahamkara makes a fuzz about it.


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Google [Bot], Yahoo [Bot]