Closed willprice closed 7 years ago
Hi,
I also tried Plasma 5 and also didn't get it to work, but I can't quite recall what the issue was.
There are three ways to install the script:
plasmapkg -t kwinscript -i $TARBALL
I'm not sure why plasmapkg didn't work, can you try?
Hi,
Here's what I get packaging from master:
✔ will@x230:~/src/kwin-tiling [master?] plasmapkg2 -t kwinscript -i .
pluginname: "kwin-script-tiling"
-- Copying "/home/will/.local/share/kwin/scripts/kwin-script-tiling/metadata.desktop" "/home/will/.local/share/kservices5/kwin-script-kwin-script-tiling.desktop"
Could not register package as service (this is not necessarily fatal): "kwin-script-kwin-script-tiling.desktop"
Successfully installed /home/will/src/kwin-tiling
That looks like it might work, if you can get kwin to enable it.
Try adding
kwin-script-tilingEnabled=true
to the [Plugins] section in kwinrc (which might be in .config)
I'll try building Plasma5 again.
I get an error message at startup: "The shared library was not found.", I'm guessing this depends on some KDE4 libraries then. Any idea how to get richer debug info?
The extension has at least appeared in the KWin scripts settings window now :)
Sorry, it seems like kwin 5 just isn't ready yet.
I got it to load the script by upping the QtQuick version (in contents/ui/main.qml) to 2.3 and removing the qtextracomponents import, but then it:
readConfig()
(in the global namespace) - there may have been an API change I'm unaware ofworkspace.clientList()
(QList<Kwin::Client*>)So unless I'm missing some new supercool include (and a way to have the script compatible to both QtQuick 1.1 and 2.3), we need to wait until either the missing stuff in kwin is implemented again or the new API documented.
I tried some more, readConfig()
is now KWin.readConfig()
. Also registerShortcut()
moved somewhere else (there's a symbol by that name in KWin
, but it doesn't appear to be a function).
I'll keep an eye on this, but unless I can make it work on kwin 5 and 4 with the same codebase, I won't switch it over until kwin 5 is the recommended version.
Hi faho,
Thanks for your work looking into this, I really appreciate it.
Now that Plasma 5.1 has been released (and is in the arch repos), I've had another look:
sed -i "s/readConfig/KWin.readConfig/g" *
), and we could presumably either wrap it (e.g. in util) or inject it into the KWin objectnew Qt.rect()
seems to generate a type errorregisterShortcut
- maybe it needs another importSoo.... look at the plasma5 branch (20b008d5d7a45a4455a9d20674161a4f511ee21b should be the first commit that runs under KWin 5).
Edit: Current limitations:
Cool, thanks for the update faho. I just tried installing plasma-next
on my laptop, unfortunately I'm not sure I can help test this as it crashes constantly, nor can it handle multiple monitors (that crashes it too). I'll check regularly, and when they release something that is vaguely usable I'll have a go testing your branch.
Regarding shortcuts, I think you need to use KGlobalAccel
I'm not quite sure how that applies to this kind of script, care to elaborate?
My bad, I guess it is only used for setting global shortcuts.
+1 I miss tiling, so I have to revert back to 4.
Just to keep everyone in the loop, I've opened
https://bugs.kde.org/show_bug.cgi?id=340225 (the shortcuts thing) and https://bugs.kde.org/show_bug.cgi?id=340125 (the clientlist thing)
upstream.
After that, the last real thing missing is the config menu.
I've found the cause for the configuration menu issues, it's now https://bugs.kde.org/show_bug.cgi?id=347176.
The config thing has been fixed by fcc931cccf25cb2d9bef6c182a3a6dc503db4940, the shortcuts and clientlist thing remain, though the latter is pretty well worked around.
I just moved the plasma5 branch to master and the old master to plasma1.
The extension is broken on Fedora 22 with Plasma 5.3.2. The error is "Plugin does not provide configuration file in expected location". It shows as enabled in both the GUI and kwinrc, but does nothing.
What does KWin print when run in a terminal (kwin_x11 --replace
)?
Is this after fcc931cccf25cb2d9bef6c182a3a6dc503db4940?
This was git master about half an hour before I filed the issue.
$ kwin_x11 --replace
kwin_core: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "b" fixes: 0x "50" randr: 0x "14" sync: 0x "31" damage: 0x "11"
Constructing a KPluginInfo object from old style JSON. Please use kcoreaddons_desktop_to_json() for "/usr/lib64/qt5/plugins/org.kde.kdecoration2/breezedecoration.so" instead of kservice_desktop_to_json() in your CMake code.
Constructing a KPluginInfo object from old style JSON. Please use kcoreaddons_desktop_to_json() for "/usr/lib64/qt5/plugins/org.kde.kdecoration2/kwin5_aurorae.so" instead of kservice_desktop_to_json() in your CMake code.
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: User timestamp, ASN: 38743949
kwin_core: User timestamp, final: 'ID: 44040207 ;WMCLASS: "plasmashell" : "plasmashell" ;Caption: "Desktop — Plasma" ' : 38743949
kwin_core: Activation: No client active, allowing
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: User timestamp, ASN: 41678101
kwin_core: User timestamp, final: 'ID: 81788949 ;WMCLASS: "okular" : "okular" ;Caption: "Eclipse Phase Quick-Start Rules – Okular" ' : 41678101
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: User timestamp, ASN: 4294967295
kwin_core: User timestamp, final: 'ID: 18874378 ;WMCLASS: "urxvt" : "urxvt256c-ml" ;Caption: "urxvt256c-ml" ' : 4294967295
kwin_core: Activation: No client active, allowing
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: User timestamp, ASN: 52142044
kwin_core: User timestamp, final: 'ID: 92274763 ;WMCLASS: "libreoffice-calc" : "libreoffice" ;Caption: "_Character_Builder_0.3.2.1.xlsx - LibreOffice Calc" ' : 52142044
kwin_core: Activation: No client active, allowing
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: User timestamp, ASN: 4294967295
kwin_core: User timestamp, final: 'ID: 4194314 ;WMCLASS: "urxvt" : "urxvt256c-ml" ;Caption: "HACKING THE GIBSON on daemonhost" ' : 4294967295
kwin_core: Activation: No client active, allowing
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: User timestamp, ASN: 53269449
kwin_core: User timestamp, final: 'ID: 75497498 ;WMCLASS: "firefox" : "navigator" ;Caption: "Plasma 5 support · Issue #30 · faho/kwin-tiling - Vimperator" ' : 53269449
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: User timestamp, ASN: 4294967295
kwin_core: User timestamp, final: 'ID: 67108874 ;WMCLASS: "urxvt" : "urxvt256c-ml" ;Caption: "urxvt256c-ml <2>" ' : 4294967295
kwin_core: Activation: No client active, allowing
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: User timestamp, ASN: 52087351
kwin_core: User timestamp, final: 'ID: 44040214 ;WMCLASS: "plasmashell" : "plasmashell" ;Caption: "Plasma" ' : 52087351
kwin_core: Activation: No client active, allowing
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
QXcbConnection: XCB error: 8 (BadMatch), sequence: 1707, resource id: 67108874, major code: 42 (SetInputFocus), minor code: 0
kwin_core: Initializing OpenGL compositing
kwin_core: Choosing GLXFBConfig 0x77 X visual 0xb0 depth 24 RGBA 8:8:8:0 ZS 0:0
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL version string: 3.3 (Core Profile) Mesa 10.6.3 (git-ccef890)
OpenGL shading language version string: 3.30
Driver: Intel
GPU class: IvyBridge
OpenGL version: 3.3
GLSL version: 3.30
Mesa version: 10.6.3
Linux kernel version: 4.1.6
Requires strict binding: yes
GLSL shaders: yes
Texture NPOT support: yes
Virtual Machine: no
kwin_core: Color correction: false
kwin_core: OpenGL 2 compositing successfully initialized
kwin_core: Vertical Refresh rate 60 Hz ( "primary screen" )
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1949, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1959, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1960, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1961, resource id: 0, major code: 14 (GetGeometry), minor code: 0
kwin_core: screens: 1 desktops: 4
kwin_core: Done.
kwin_core: Successfully loaded built-in effect: "blur"
kwin_core: Successfully loaded built-in effect: "contrast"
kwin_core: Successfully loaded built-in effect: "dashboard"
kwin_core: Successfully loaded scripted effect: "kwin4_effect_windowaperture"
kwin_core: Session path: "/org/freedesktop/login1/session/_35"
kwin_core: Successfully loaded built-in effect: "desktopgrid"
kwin_core: Successfully loaded scripted effect: "kwin4_effect_fade"
kwin_core: Successfully loaded built-in effect: "highlightwindow"
kwin_core: Successfully loaded scripted effect: "kwin4_effect_maximize"
kwin_core: Successfully loaded built-in effect: "kscreen"
kwin_core: Successfully loaded scripted effect: "kwin4_effect_dialogparent"
kwin_core: Successfully loaded built-in effect: "logout"
kwineffects: Incorrect Property state, immediate stop: 7471104
kwin_core: Successfully loaded scripted effect: "kwin4_effect_login"
kwin_core: Successfully loaded built-in effect: "minimizeanimation"
kwin_core: Successfully loaded scripted effect: "kwin4_effect_translucency"
kwin_core: Successfully loaded built-in effect: "presentwindows"
kwin_core: Successfully loaded built-in effect: "screenedge"
kwin_core: Successfully loaded built-in effect: "screenshot"
kwin_core: Successfully loaded built-in effect: "slide"
kwin_core: Successfully loaded built-in effect: "slidingpopups"
kwin_core: Successfully loaded built-in effect: "startupfeedback"
kwin_core: Successfully loaded built-in effect: "zoom"
There's nothing in there related to the script, even though we print quite a few debug lines.
How did you install it? Note that the README was broken for a while - it needs to be via plasmapkg2 --type kwinscript -i /path/to/script
(yes, gnu-style long-option with a double-dash). Or maybe Fedora is doing something weird in its packaging.
I did install with that plasmapkg2
syntax. It's quite possible Fedora is doing something weird, or something changed in Plasma or kwin recently.
Seems I need to get a Fedora VM again. Anything special you have to do to get Plasma 5?
I doubt it's Plasma/KWin since I'm running 5.4 (and had run 5.3.2 when that was current).
Just install the KDE spin and sudo dnf update.
On September 1, 2015 6:59:38 PM CDT, Fabian Homborg notifications@github.com wrote:
Seems I need to get a Fedora VM again. Anything special you have to do to get Plasma 5?
I doubt it's Plasma/KWin since I'm running 5.4 (and had run 5.3.2 when that was current).
Reply to this email directly or view it on GitHub: https://github.com/faho/kwin-tiling/issues/30#issuecomment-136896150
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Sorry it's taking so long, I'm having trouble getting Fedora to work properly (even before installing the script).
Tested on Sabayon Linux , Plasma 5.4 and its working good! thank you so much ! Keep up the goodjob!
Shortcut seems (meta + f11 + shift) to do nothing, no shortcut support yet?
Nope. It's currently impossible once you use qml, and if we didn't use qml we wouldn't have Qt.include - i.e. all code would have to be in one file. One 3000 line file.
I've reported it upstream a while ago, but they've got other things on their plate right now.
may be we can use node + requirejs and generate them , without qml? my 2 cents.
Nah - if I really wanted to get rid of qml, I'd use a buildscript that mainly invoked cat
. But I've always had plans to use qml for more (like a popup to show which layout is being loaded), not less, and P5 is still not quite "finished" (which is also why I haven't made a P5-only release and uploaded it to kde-look.org) and shortcuts aren't critical, so... let's just wait until upstream fixes it.
yes that make sense :D lets wait for it. For now if i want to switch default layout can i do at settings?
For now if i want to switch default layout can i do at settings?
Should be possible, yeah (though the interface isn't great because I can't figure out how to make one that's flexible enough). That last textfield in the "Common Options" tab takes text in the form "desktop:layout", with multiple of those separated with a ",". A negative desktop number disables tiling by default on that desktop, and a desktop of "0" indicates that this is the default for all desktops that aren't mentioned otherwise.
so same as syntax in the last screenshot? I gonna try it! thanks.
still no fix to keyboard shortcuts?
Unfortunately not, and I don't think it's going to be in KWin 5.5 either.
that gonna be long long long wait.
On Sat, Nov 28, 2015 at 7:09 PM, Fabian Homborg notifications@github.com wrote:
Unfortunately not, and I don't think it's going to be in KWin 5.5 either.
— Reply to this email directly or view it on GitHub https://github.com/faho/kwin-tiling/issues/30#issuecomment-160290738.
i use plasma 5.4.3, i see the scrit p in the kwin script.
i try to enable it but get this message "The shared library was not found."
i try to enable it but get this message "The shared library was not found."
@marccollin: That's been known to show up when you click the config menu, but the script should be active regardless (once you restart kwin). As for the config menu - that should be solved by fcc931cccf25cb2d9bef6c182a3a6dc503db4940, so you should try that. If it's not, can you tell me where "kcm_kwin4_genericscripted.so" is? It should be included in your kwin package.
locate tiling /home/collinm/.local/share/kservices5/kwin-script-kwin-script-tiling.desktop /home/collinm/.local/share/kwin/scripts/kwin-script-tiling/metadata.desktop
i modified
/home/collinm/.local/share/kservices5/kwin-script-kwin-script-tiling.desktop /home/collinm/.local/share/kwin/scripts/kwin-script-tiling/metadata.desktop
to put this value X-KDE-Library=/usr/lib64/qt5/plugins/kwin/effects/configs/kcm_kwin4_genericscripted
i get same result
seem like don't use the path i specified
You said that shortcuts are not that critical — does that mean I can configure, e.g., the changing tiling layout shortcut somehow else?
the changing tiling layout shortcut somehow else?
No. You can change the layout in the configuration (or hardcode it in the actual code), but shortcuts currently (AFAIK still) just do not work. Any change in layout requires a KWin restart.
They're not critical in that the script is basically usable without them. It's secondary functionality.
If anybody want to vote for, I reported a feature request to make tiling upstream.
Thanks @Hi-Angel
yes lets vot for this , lets get this plugin mainstream!
voted @Hi-Angel
While I appreciate your enthusiasm, I don't think that's gonna happen.
KWin actually used to have tiling. It was written for GSoC and quite minimalistic and generally bad. It was removed because none of the kwin devs used it or cared for it. They recommended that someone write a script instead, and that's how this thing started.
Now, if KWin would incorporate this script, they'd still need to fix the API issues - which they obviously haven't gotten to. If they added it to the core code instead, they'd have to write quite a bunch of code. Either way, there's no real advantage for the kwin devs.
your version of tiling is much better and stable. I had use that official before. So , let us try , may be a lot of votes can change something.
Honestly, I rather want to stir them up. They would think for a moment "What do we need for this to work?", and then they would remember the ancient hotkeys bug, since 2014. Then they can't ask "why not to keep it separate of upstream", because the answer is obviously "The API is broken". It's not cool to have bugs appearing, depending on an old one, thus the hotkeys bug more likely to get fixed, than without the report.
Hi,
I've tried installing the script under the new Plasma 5 desktop but can't seem to get it working. I appreciate this isn't a very helpful bug report as it contains no information whatsoever, but I'm not sure what is relevant. I'd be happy to help with alpha/beta testing on plasma 5.