Giter Club home page Giter Club logo

parachute's Introduction

Parachute

This project is paused. Feel free to fork it if you want to improve it

Look at your windows and desktops from above.

This KWin script was inspired by the excellent work of several projects like: KWin (Present Windows and Desktop Grid effects), kwinOverview, qOverview, Gnome, Deepin.

Installation or upgrade

git clone https://github.com/tcorreabr/Parachute.git && cd Parachute
make install

If you have installed through Plasma's Get Hot New Stuff (Kde Store) you must execute the following commands on terminal to install the configuration dialog. You only need to do this once.

mkdir -p ~/.local/share/kservices5
ln -s ~/.local/share/kwin/scripts/Parachute/metadata.desktop ~/.local/share/kservices5/Parachute.desktop

To uninstall, first go to the folder where you cloned Parachute, then run:

make uninstall

Usage

After activate the script in KWin Scripts window you can use the default registered global shortcut Ctrl+Super+D (Ctrl+Meta+D) to show/hide Parachute.

You can also invoke the script with: qdbus org.kde.kglobalaccel /component/kwin invokeShortcut Parachute. Similarly you can: integrate it with easystroke, configure it to be invoked with meta key, etc.

Controls:

  • Left mouse button - Activate window.
  • Middle mouse button - Close window.
  • Right mouse button - (Un)pin window.
  • Arrow keys - Select a window.
  • Shift + Arrow keys - Switch desktops.
  • Home/End - Select first/last window.
  • Enter - Activate selected window.
  • Esc - Hide Parachute.
  • F5 - Update settings.

Notes

  • Developed and tested in Plasma >= 5.20 and Qt >= 5.15.
  • For now it doesn't work on Wayland.
  • You can use KWin's global shortcuts normally while using this script. To navigate between your desktops for example.
  • If you are using "Slide" animation to switch desktops, you may want to enable the "Slide docks" option to avoid some unwanted visual effects.
  • If you are having poor performance on animations, try changing "Scale method" to "Smooth" or "Crisp" in Compositor settings.
  • If you have Virtual Desktop Bar installed, Parachute keyboard shortcut may be ineffective until KWin restart or dynamic desktop operations.

parachute's People

Contributors

bollian avatar cossonleo avatar divinae avatar intersimone999 avatar mirekdlugosz avatar tcorreabr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

parachute's Issues

With Virtual Desktop Bar, parachute keyboard shortcut ineffective until kwin restart or dynamic desktop operations

Each time I boot up and login, the keyboard shortcut (ctrl+alt+w) has no effect, until I run kwin_x11 --replace, then it's fine. The setting appears correct throughout, in the Global Shortcuts KCM.

I wonder it it's some timing issue during session startup. I am also using latte dock and virtual desktop bar (which I know causes other issues for this script), so I can play around with disabling those later.

Arch Linux
kwin & plasma-desktop 5.18.4.1
kwin-scripts-parachute 0.5.1

Thanks again for the great work!

Weird behavior with Dynamic Virtual Desktops

Hey I absolutely love this kwin script you made. Legit made my day when I saw it in the KDE store. Thank you so much for your work

I've been experiencing a weird issue with another kwin script I use called Dynamic Virtual Desktops. It seems like every time I create or remove a virtual desktop with this add-on enabled it will automatically move to the first workspace

Totally understandable if this is super low priority for you since it's a different kwin script. Just thought it would be good to document it. Dynamically creating virtual desktops is a really useful feature for me and having both would be great

Issue with latte dock

Hi,

Currently Parachute seems to have an issue with Latte-dock, sometimes it shows, sometimes doesn't, sometimes it flickers.

Could there be made an option to either hide or show latte-dock ? ( normally i guess it should be hidden, but i would actually like for it to show ...then i would have a app launcher and activity changer on Parachute :P )

Thanks !

Freeze at end of animation

Hi,

On wayland, and in contrast with X11 version, there is a 1, 2 second freeze when closing the kwin script.

Thanks !

Info on README.md about using it with meta key

Hi,

I am using metakey only to invoke Parachute.
this can be done with:

kwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.kglobalaccel,/component/kwin,org.kde.kglobalaccel.Component,invokeShortcut,Parachute"
and
qdbus-qt5 org.kde.KWin /KWin reconfigure (qdbus-qt5 may be opensuse only, may be qdbus in other distros)

Maybe this can be included on the README.md ?

Thanks !

Is this supposed to work on a kWin only setup?

Hi!

I am on Ubuntu 18.04 base and have kWin window manager on it (with a custom desktop). This does not seem to work at all. Does this rely on Plasma specific features in some way? Because the global keys aren't triggering it nor does the qbus command. It just doesn't react.

Edit: I am on kWin 5.17.4 so that might be why

Arrow Keyboard Navigation: Tab switches focus from windows to desktops, but not back to windows

At first, or after running kwin_x11 --replace, arrow keys will navigate through the open windows. Once the tab key is pressed, they will navigate through the virtual desktops. At this point, tab will have no further effect in parachute until kwin is restarted, so arrow navigation among the windows is (AFAIK) impossible until then as well.

kwin-scripts-parachute 0.6.0 on Arch Linux

Support for greater number of virtual desktops

Setup:
Create a lot of virtual desktops (for example 13)

Expected:
Top bar shows the number of virtual desktops it can fit, but the rest are available via scrolling the top bar or/and by hovering the cursor on the edges of top bar.

Actual:
Only some of the desktops are shown and there is no top bar scrolling.
image

Request: Option for desktop bar to appear at the bottom of the screen, rather than the top

I keep my desktop pager and task manager widgets on a bottom panel, so I associate related operations with that area of the screen. If Parachute could also display at the bottom, it would be a smoother and more focused target for my attention when using it, rather than having my eyes jump from the bottom to the top and back, when doing desktop and task operations.

Thanks for your continued work on this beautiful project.

Option have vertically arranged desktops?

KDE supports vertical arrangment, so it seems logical that Parachute should too. Plus it's easier to switch desktops on widescreen if you have a vertical arrangement like Gnome does, because it requires far less mousework to traverse the height of the screen than the width.

F5 doesn't refresh settings.

As per release notes

Config dialog to change some preferences (you have to press F5 with the script activated for the changes to take effect).

Pressing F5 doesn't update Parachute to use new settings.

Edit: In fact, settings are not taking effect. None of the settings display any change after logout/login. Please provide some info as to how I can help debugging this issue.

Widgets vertical offset

Hi,

So on wayland, all the "drawings" of widgets are offset vertically some pixels.
Unfortunatly it seems in my daily git packages update broke spectacle, but will update with screenshot as soon as I can.

Thanks !

Inconsistent framing on some windows

See the attached screenshots:
Screenshot_20200405_224139
Screenshot_20200405_224215
Screenshot_20200405_224440
Screenshot_20200405_224715
The Firefox window on the right is maximized. The title and icon are shown too close to it, and the frame around it when hovering is smaller than that of other windows (such as the System Settings on the left).
Also it is kinda weird that a maxed window appears smaller than a non-maxed one.
Weirdly enough, it doesn't seem to affect Dolphin.

I played around a bit more. Horizontally elongated windows have their titles too far from them, seemingly the title label placement is relative to the frame top edge, not the window thumbnail.
Vertically elongated windows don't act weirdly.
I resized Firefox and Dolphin a few times, then reverted to Firefox being maxed. (see last picture). Now the frame behaved differently than in the first picture, although the window layout is identical.
It seems that most of this inconsistent behavior has to do with GTK apps.

Screenshot_20200405_225349
On this screenshot, all 3 windows are maximized, yet the frames (and the windows themselves) are all different size and the distance between window thumbnails and the title labels is also different.

Issue after rebooting/logging out and back in?

Hey great script it functions as expected and everything, however I seem to be having a problem after logging out and back in or otherwise restarting my computer in some way. If I do either of the aforementioned things. Kde plasma becomes extremely slow and unresponsive until i disable this script. Disabling and reenabling the script makes everything work as expected and it is all smooth sailing. However I have to do this anytime I want to end the current session. Any ideas on this?

Currently on openSuse Tumbleweed all packages up to date. (Which may be part of the problem)
Plasma 5.18.5
Qt version 5.14.1

Multimonitor background

Hey, I love this script, it is what I've been looking for for years!
When I saw it, I immediately had to download it.
I have a 1920x1080 primary monitor and a 1280x1024 secondary.
When opening the effect, the windows on the two monitors appear correctly, on their respective screens, but the background on the 1920x1080 is cropped to 1280x1024 and if the two screens have different wallpapers, the wallpaper of the 1280x1024 is shown on both screens in the effect. (See image below).
Screenshot_20200405_223319
As you can see, desktop widgets are shown too. I can't decide whether that is good or bad; feature or bug. I leave that to you.

I know that supporting multiple aspect ratios at the same time is tricky and absolutely not a priority, but I thought I'd let you know, so when you have time later, you can work on this.

Btw OS is Manjaro,
Plasma 5.18.3,
Frameworks 5.68.0,
Qt 5.14.1,
Kernel 5.4.28 64bit,
Intel i3-7100, 8GB RAM.

window previews missing

Hi,

I love the idea of this kwin script but for some reason there is no preview of any of the open windows on my end. See screenshots below. Windows can still be selected, and even moved to other desktops.
System information below, any hints?

Operating System: Kubuntu 19.10
KDE Plasma Version: 5.16.5
KDE Frameworks Version: 5.62.0
Qt Version: 5.12.4
Kernel Version: 5.3.0-61-generic
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-5300U CPU @ 2.30GHz
Memory: 15.5 GiB of RAM

Parachute_Screenshot_20200628_194219
Parachute_20200628_194419

Close Button Should be Right-Aligned

I believe that aligning the close button to the right side of the window would look nicer than have it just to the right of the text.

View now:
view-now

Right Aligned Views: (fully and aligned to window border) - unsure which looks nicer.
view-alt-right-aligned
view-right-aligned

Animation is kinda brutal and not elegant

This is about cosmetics but currently the animation is super quick, a bit too quick. Maybe because of that it lacks smoothness and elegance. Or maybe it's not about the speed but the animation itself?

The default overview is also quick and yet smooth, but parachute's counterpart feels raw. Maybe the best way to describe it - it lacks smoothness of the usual overview animation.

If you compare those two animations one after another, they have very different look.

Any idea if that could be improved?

keyboard navigation not working when opening parachute with qdbus command

When opening parachute with qdbus org.kde.kglobalaccel /component/kwin invokeShortcut Parachute focus stays on last active window and that window recieves keyboard events.
This issue doesn't occur when opening parachute with global keyboard shortcut (e.g. Ctrl+Meta+D)

Steps to reproduce:

  1. open terminal or alt-tab opened terminal
  2. move mouse so none of the applications gets under mouse pointer in paraschute
  3. run qdbus org.kde.kglobalaccel /component/kwin invokeShortcut Parachute
  4. try selecting application with keyboard

I face this problem a lot since I use fusuma gestures and Meta key for opening parachute.
Here is also quick recording of bug:
bug-preview.zip

No window preview, only icons

Screenshot_20200603_022820
So basically i don't have window preview and only icons left. This weird issues doesn't happen when i tested in a wm.

Specification
Operating System: Manjaro Linux (Unstable Branch)
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.70.0
Qt Version: 5.14.2

btw thanks for your jobs, it makes me want to use KDE back. Before this KDE with 720p resolution was simply unusable because of the annoying grid overview.

Doesn't seem to work on Kubuntu 20.04

I can't seem to trigger it via the global shortcut or via the command, this is the first time I've used the script, so I've never seen it in action.
System info:
Operating System: Kubuntu 20.04
KDE Plasma Version: 5.18.4
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Kernel Version: 5.4.0-26-generic
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-2520M CPU @ 2.50GHz
Memory: 15.6 GiB of RAM

Layout of virtual desktops

When virtual desktops are distributed in 2+ rows, it may be good to have an option to follow the layout of desktops, perhaps reducing the size of the miniature to compensate for the extra vertical space

GTK windows without margins

As mentioned by @koma111 on #16, GTK window thumbnails have no margins and this behavior is defined by Kwin component responsible for painting them. Maybe I can add margins if I can find out if a particular thumbnail is from a GTK window. Although this is not a very elegant solution.

[Feature] to immediately open on the clicked application

For example if your enable parachute the desktop are shown. if you want to switch to a different application in another desktop.you will have to click on the desktop and then the application.

it would be better instead of that, once you clicked on the application in the other desktop it immediately goes to the application

video explaining what i mean https://streamable.com/0a1c72

Parachute doesn't respect activities

Make a second 'Activity' in the kde settings. On the same virtual desktop index, open an application on each activity. Open parachute. Parachute aggregates all applications across all activities.

Activities and Wallpapers goal

I really find this project interesting.
I can really understand why Activities support is not possible yet in your project.
There are plenty of projects that are influenced by Plasma missing feature to not provide a Wallpapers model solution or something similar that would give the option to pagers, kwin overviews, activity manager etc. to provide a proper visual for Activities.

As a middle ground solution I have proposed: https://phabricator.kde.org/T13037

I 'd really like your thoughts in the matter. Such solution could at least give you Live Wallpapers model/data that could be used. For current Activity, the Desktop window could be used but for the rest Activities that are running but are not active the previous solution could provide you their Wallpaper Live Preview (without their widgets layer)

When the configuration dialog is installed, I cannot start any programs from Application Launcher

A really weird interaction I know. After I installed the symlink like it says in the readme, and after I relogged-in to the desktop session, I was no longer able to launch any programs from the default launching applet.
I'm running Plasma 5.19.3, Kde frameworks 5.72.0, Qt 5.15.0

Also when I was testing what was causing it, I first disabled parachute and relogged-in, then I removed the symlink and relogged-in, and my plasma went mad: kwin would not start, panels didn't appear, and I couldn't log out or even reboot.

Does not respect window attributes

Just testing this I've noticed windows with _NET_WM_STATE_SKIP_PAGER and _NET_WINDOW_TYPE_DOCK show up (they shouldn't)

Edit: Ok, I am not exactly sure what fixed it, but after a reboot it looks like its working fine lol

[Feature Request] Option to not show minimized windows.

An option to be able to have minimized windows not show up would be rather nice, like the Present Windows desktop effect has.

Having them show up in some sort of minimized state, like showing just the titles at the bottom of the screen, could also be useful but far less necessary for me.

Consider panels as part of the desktop

There is a "glitch" with panels when moving from desktop to desktop, i.e. panels transiently appear in the desktop transition and then disappear becase they are not considered part of the desktop in this script.

It would be great if panels would be considered part of the desktop like widgets. If that would be the case panels would always be present and the transient glitch would be gone.

[Feature Request] Use hjkl to navigate through windows.

It'll be a great addition and will allow extremely fast window switching. This is something missing from the Present Windows effect. Adding "hjkl" navigation will allow a really good window switching workflow.

I see that there are two issues, one of which is a feature request for Present Windows' filter effect and the other is for searching in Krunner. Perhaps it can be something like this:

  1. Press "f" and start typing to filter windows
  2. Press "s" and start typing to search in Krunner
  3. Use "hjkl" to navigate windows

Just my thoughts. 🙂

Touchscreen doesn't switch window

I'm not sure if this is a bug or just a not yet implemented feature but when I try to select a window using the touchscreen it just takes me back to the previous window I was using. I can switch desktops via the touchscreen and I can move windows between desktops, so it is just window selection that doesn't work.

Suggestion: Super+Ctrl+D to "deploy Parachute"

I suggest using the Super+Ctrl+D (Meta+Ctrl+D) shortcut to "deploy Parachute" ( 😎 ) because I think it makes sense and is also a more comfortable shortcut to do. Additional reason is that this is the default shortcut for virtual desktops overlay in Windows so anyone who switches from that would already know how to use this. 👍

This wont conflict with any KDE Plasma shortcuts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.