Skip to content

Commit

Permalink
[DesktopCube@yare] Version 2.0.0 (#774)
Browse files Browse the repository at this point in the history
1. Add ability to use Cube effect when changing the workspace via the "Workspace Switcher" applet
2. Add ability to use Cube effect when changing the workspace by activating a window on a different workspace
3. Add ability to use Cube effect when using the workspace "Direct Navigation" hotkeys
4. Enable showing the desktop icons during the Cube effect
5. Allow the Cube to queue up hotkey press actions rather than ignoring hotkey presses during the Cube animation
6. Change the "Animation duration" option to be a number of seconds (0.1 to 4 seconds)
7. Change the Pullaway setting to be a "Cube size" as a percentage of the screen size
8. Add button to the Desktop Cube setting dialog which will launch the keyboard setting dialog as a convenient access to setting workspace related hotkeys
9. The Cube rotation and the scale down to the target Cube size effects will now run in parallel, this saves animation time and makes the animation look smoother. As a side effect, the easing for the scale down action is now hard-coded to "easeNone" and the user defined "Scale effect" is used only for the "Unscale" action. This is assuming there is a need to scale at all, i.e. the cube size is not 100%, in the 'Cube size is 100%' case the easing will still apply.
10. The "Rotate easing" effect is now only applied to the ending of the rotate when there is no 2nd rotation that is need and there is no immediate unscaling needed. Likewise, easing is only applied at the start of the rotate when there is no scaling needed (i.e only when hot-keys are used a 2nd time while holding the modifier keys). This makes the whole animation smoother particularly when Bounce/Back/Elastic easing is used.
11. Add a button to the Desktop Cube setting dialog under the "Effect Easing" section which will open the easing information website
  • Loading branch information
klangman authored Nov 20, 2024
1 parent 7467644 commit 8ace55f
Show file tree
Hide file tree
Showing 22 changed files with 1,446 additions and 278 deletions.
14 changes: 14 additions & 0 deletions DesktopCube@yare/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 2.0.0

* Added ability to use Cube effect when changing the workspace via the "Workspace Switcher" applet
* Added ability to use Cube effect when changing the workspace by activating a window on a different workspace
* Added ability to use Cube effect when using the workspace "Direct Navigation" hotkeys
* Enabled showing the desktop icons during the Cube effect
* Allow the Cube to queue up hotkey press actions rather than ignoring hotkey presses during the Cube animation
* Changed the "Animation duration" option to be a number of seconds (0.1 to 4 seconds)
* Changed the Pullaway setting to be a "Cube size" as a percentage of the screen size
* Added button to the Cube config which will launch the keyboard setting dialog as a convenient access to setting workspace related hotkeys
* The Cube rotation and the scale down to the target Cube size effects will now run in parallel, this saves animation time and makes the animation look smoother. As a side effect, the easing for the scale down action is now hard-coded to "easeNone" and the user defined "Scale effect" is used only for the "Unscale" action. This is assuming there is a need to scale at all, ie. the Cube size is not 100%, in the "Cube size is 100%" case the easing will still apply.
* The "Rotate easing" effect is now only applied to the ending of the rotate when there is no 2nd rotation that is need and there is no immediate unscaling needed. Likewise, easing is only applied at the start of the rotate when there is no scaling needed (i.e only when hot-keys are used a 2nd time while holding the modifier keys). This makes the whole animation smoother particularly when Bounce/Back/Elastic easing is used.
* Added a button to the Desktop Cube setting dialog under the "Effect Easing" section which will open the easing information website

## 1.1.0

* Fixed the "not animating" issue under Mint 21+
Expand Down
54 changes: 51 additions & 3 deletions DesktopCube@yare/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,55 @@

Compiz Cube-like animation for workspace switching

Using the standard workspace switching hotkeys Ctrl+Alt+Left/Right will show a rotating cube with the workspaces on the cube faces as the workspace switching animation.
Switching the current workspace using any of the below described methods will show a rotating cube animation with the workspaces on the cube faces.

It should now be working perfectly under all versions of Mint21+ without having to set CLUTTER_PAINT environment variable!
I tested: Mint 21 / 21.1 / 21.3 / 22 and Fedora Cinnamon-Spin 40
It should work well under all versions of Mint21+ without having to set the CLUTTER_PAINT environment variable.

## Requirements

Version 2 requires Cinnamon 5.4 (Mint 21) or better

The older Desktop Cube version (with limited features) will be used on older Cinnamon versions.

Tested on: Mint 21 / 21.1 / 21.3 / 22 and Fedora Cinnamon-Spin 40.

## When is the Cube effect used?

There are a number of ways to switch the current workspace, all of following will be handled by Desktop Cube starting with version 2:

1. The "Switch to left/right workspace" hotkeys (under Keyboard settings, Shortcuts tab, Workspace category) Default hotkey: Ctrl + Alt + Left/Right_Arrow_Keys

2. The "Switch to workspace 1-12" hotkeys (under Keyboard settings, Shortcuts tab, Workspace/Direct Navigation category) Default hotkey: unassigned

3. Using the "Move window to the left/right workspace" hotkeys (under Keyboard settings, Shortcuts tab, Windows/Inter-workspace category) Default hotkey: Shift + Ctrl + Alt + Left/Right_Arrow_Keys

4. Clicking on a workspace button in the "Workspace Switcher" applet (can be disabled in the configuration)

5. When changing the focus to a window on another workspace by using the Window-List or Alt-Tab when they are configured to show windows from other workspaces. (can be disabled in the configuration)

When switching the current workspace using Expo ("workspace selection screen" Default hotkey: Ctrl + Alt + Up_Arrow_Key) by clicking on a different workspace, the Desktop Cube effect will not be used. Since the Expo is not really a "face" on the cube it would break the Cube concept a bit, therefore I left it as is since I felt it was more logical that way.

If you know of other methods of switching the workspace where the Desktop Cube effect is not currently used, please let me know so I can see if I can find a way to enable the Desktop Cube for that path as well.

## Known Issues

1. When using Desktop Cube with two or more Monitors attached, the Cube will be placed in the middle of the overall desktop which will likely appear spit between the monitors, kind of ruining the effect.

At some point I plan on adding options to control how the Cube is displayed on multi-monitor setups, but it might be a while before I find the time to work on that.

2. If you enable the "Include Panels" option in the Desktop Cube configuration, the panels will disappear while the cube is turning and then reappear when it is done. This is far from ideal, so I recommend that you leave this option disabled so that the panels remain hidden, only reappearing after returning to the normal desktop.

## Installation

- Right click on the cinnamon panel and click "System Settings"
- Click on the "Extensions" icon under the "Preferences" category
- Click the "Download" tab and then click the "Desktop Cube" entry
- Click the "Install" button on the right and then return to the "Manage" tab
- Select the new "Desktop Cube" entry and then click the "+" button at the bottom of the window
- Use the "gears" icon next to the "Desktop Cube" entry to open the setting window and setup the preferred behavior

## Feedback

Please leave a comment here on cinnamon-spices.linuxmint.com

To report a bug or submit a feature request, open an issue here: [GitHub Spices Repo](https://github.com/linuxmint/cinnamon-spices-extensions/issues/new/choose)
Loading

0 comments on commit 8ace55f

Please sign in to comment.