Desktop Scroller 2.1

UUID: desktop-scroller@ccadeptic23
Score: 52


This extension enables you to quickly switch between workspaces (aka Desktops). Simply place your mouse at the left or right side of your screen then scroll your mouse wheel. This makes it much easier to jump from workspace to workspace.


GitHub Repo

Version 2.1
-adds fix for cinnamon 2.6 which changed some api's. Thanks to hyOzd for the investigation.
Thank you to
zed ecks "meaninglessidentifier" and Thx3r for their contributions.
View the Readme for more information.
Note: If in the future an extension is not working for you. try this
open ~/.local/share/cinnamon/extensions/desktop-scroller@ccadeptic23/metadata.json
add your version of cinnamon to the "cinnamon-version" list
      find this by running "cinnamon --version" in a terminal
This is by far the most common issue i see.

About The Author


I started developing cinnamon extensions and applets to make the desktop i wanted. Since I have been wanting to contribute to some open source project for awhile now, I figured these would be a good first step. If you like them please rate them. Its very motivating to know people are enjoying them.

My Linux Mint Projects.

Multi-core System Monitor Applet:

Desktop Scroller Extension:


  1. Wolf359 says:

    5 months ago

    Never mind, I figured it out. For anyone who's interested : open /home//.local/share/cinnamon/extensions/desktop-scroller@ccadeptic23/extension.js Change "updateSettings" function to : updateSettings: function() { if (!this.enabled) return; var monitor = Main.layoutManager.primaryMonitor; //var porthole = Main.layoutManager.getPorthole(); //why you taking away myapi's :( var porthole = {x:0, y:0, width:global.screen_width, height:global.screen_height}; var xoffset = 140; var width = porthole.width-2*xoffset; var height = this.activationAreaWidth; var rx = porthole.x + xoffset; var ry = porthole.y + porthole.height - height; var lx = porthole.x+xoffset; var ly = porthole.y; this.ractor.set_position(rx, ry); this.ractor.set_width(width); this.ractor.set_height(height); this.lactor.set_position(lx,ly); this.lactor.set_width(width); this.lactor.set_height(height); var opacity = this.showActivationAreas ? 127 : 0; this.ractor.opacity = this.lactor.opacity = opacity; }, Remove and readd the extension. That's it. All credits go to ccadeptic23 !

  2. Wolf359 says:

    5 months ago

    Hi ccadeptic23, First of all thanks for this extension. There's a problem though; when reading stuff and browsing web sites full screen, this extension gets easily activated, especially when you read and research something new switching the workspace accidently can get very disturbing. Could you update this extension to get activated on the top edge of the screen ? Or make it customizable ? Would be really great and I'm sure lots of users would appreciate it !

  3. DomoKun41 says:

    6 months ago

    I clean installed Mint 17.2 Cinnamon, and Desktop Scroller 2.02 doesn't work. I found a comment by hyOzd. "" His method works well. ----- Edit "~/.local/share/cinnamon/extensions/desktop-scroller@ccadeptic23/extension.js" by text editor. Replace the line containing getPorthole() with "var porthole = {x:0, y:0, width:global.screen_width, height:global.screen_height};".

  4. dewman12 says:

    6 months ago

    I am not the maker of this extension. The extension manager said their was an update for this extension for the new version of cinnamon 2.6, but new version is not working. I removed new version. I Added old version back to extension folder, and edited the { METADATA.JSON } file in the { desktop-scroller } folder. Using TEXT EDITOR i added 2.6 to the cinnamon version list in the { METADATA.JSON } file. Maybe this will help until the author fixes the extension.

  5. ddeo says:

    7 months ago

    Doesn't work on Mint 17.2, Cinnamon 2.6.11. Log: <---------------- DesktopScroller.prototype.updateSettings@/home/darek/.local/share/cinnamon/extensions/desktop-scroller@ccadeptic23/extension.js:53 DesktopScroller.prototype.enable@/home/darek/.local/share/cinnamon/extensions/desktop-scroller@ccadeptic23/extension.js:93 enable@/home/darek/.local/share/cinnamon/extensions/desktop-scroller@ccadeptic23/extension.js:196 finishExtensionLoad@/usr/share/cinnamon/js/ui/extensionSystem.js:52 loadExtension@/usr/share/cinnamon/js/ui/extension.js:470 onEnabledExtensionsChanged@/usr/share/cinnamon/js/ui/extensionSystem.js:71 ----------------> error t=2015-07-06T09:42:35.194Z [Extension "desktop-scroller@ccadeptic23"]: Failed to evaluate 'enable' function on extension: desktop-scroller@ccadeptic23 error t=2015-07-06T09:42:35.194Z Could not load extension desktop-scroller@ccadeptic23

  6. basju81 says:

    8 months ago

    Very nice extension. When will support for 2.5x be added? Or can I edit some config file to make it work?

  7. CaptainMark says:

    9 months ago

    I was trying to find a quick mouse shortcut for switching workspaces and this will do nicely. I wish you could do it with a double mousebutton hold and swipe but this is the fastest way with a mouse to switch that i can find.

  8. yunivor says:

    10 months ago

    Hi ccadeptic23, I loved this extension but have a little problem, when I want to scroll normally I have a strong tendency of putting my mouse in the corner of the screen. If It could be possible to activate this extension only on one side it would be much better. My idea would be that in the configuration menu there would be the options to "activate right" and "activate left" having both activated to have it on both sides. Also both could be active by default.

  9. ccadeptic23 says:

    10 months ago

    just release a hot fix for conflict with hot corners. Thank you quyet for bringing it to my attention.

  10. quyet says:

    10 months ago

    Hi ccadeptic23, Your desktop scroller make hot corners doesn't work at bottom left/right corners. My system: Linux Mint: 17.1, 64bit, cinnamon 2.4 Sincerely, Quyet

  11. re3el says:

    11 months ago

    That is really a plus when using multiple desktops! Maybe I'll start using them now ;-) This should be implemented in the distro's as a default. I find working multiple desktops quite unhandy.

  12. StanW says:

    11 months ago

    Great extension! Thanks!

  13. quyet says:

    1 year ago

    I am using 2 of your applets. They are very good and you are awesome too. Keep doing more good job!

  14. Scott65 says:

    1 year ago

    For 17.1 had to edit the /home/../.local/share/cinnamon/extensions/desktop-scroller@ccadeptic23/ metadata.json file change cinnamon-version to "2.4" works.

  15. Scott65 says:

    1 year ago

    I love this extension but now it doesn't work anymore. I wish someone would fix it. So much better than "edge flipping."

  16. Alber says:

    1 year ago

    Very nice and useful extension! I just installed the new CInnamon 2.4 and apparently it doesn't work anymore (I have a red dot instead of the green one in the "Installed Extension" setting window.. Any suggestion to contribute for the debugging?

  17. nexitem says:

    1 year ago

    I love this extenstion, It is exactly what I need to make my workflow work. However I would love a option to change how much I have to scroll to change workspace. One little scroll is enough and I most of the time since i Use 3 workspaces now accidently skip workspaces... Is this possible?

  18. mettallex says:

    1 year ago

    Hi, It's possible to bind the scroll with another keyboard combinaison or with a mouse button ? Thanks

  19. omastik says:

    1 year ago

    Good idea, thanks :)

  20. dewman12 says:

    1 year ago

    i love your extension. I am working on themes. I use it a lot-LOT to compare icons etc. etc.. It would be wonderful if it showed the workspaces number. Thanks For Sharing dewman12

  21. ZIMT says:

    1 year ago

    I would love to use this extension but it does not work for me. I am running Fedora 20 64-bit with a Cinnamon desktop. I installed the extension and it is now displayed as an active extension. However I cannot configure it and it does not work as is. Do I need a service running for this extension? Does it not recognize the mouse wheel as an input device? The mouse wheel works well for scrolling within documents or in any browser. Ultimately I would like to use the extra side-buttons on my mouse to quickly switch between work spaces.

  22. lecapitn says:

    1 year ago

    Modifying ~/.local/share/cinnamon/extensions/desktop-scroller@ccadeptic23/metadata.json and add "2.0" to the list of cinnamon version did the trick for me..... (my cinnamon version is 2.0.14) too good! :)

  23. badook says:

    1 year ago

    Not working anymore...too bad!

  24. Scott65 says:

    2 years ago

    I hope you haven't abandoned this project beause it is a great extension. But it doesn't work in full screen mode anymore in 2.0.14. That was one of the features I liked the most...

  25. Scott65 says:

    2 years ago

    yeah... has to be exact Cinn. version. Using latest Maya backport, it's 2.0.14 that works for me.

  26. sadata says:

    2 years ago

    Adding version 2.0.13 to ~/.local/share/cinnamon/extensions/metadata.json and then restarting cinnamon fixed it for me. Need to specify exact version (cinnamon --version).

  27. senorsmile says:

    2 years ago

    Yes, please fix for Cinnamon 2.0! Changing the metadata.json doesn't seem to do the trick.

  28. sadata says:

    2 years ago

    Is a Cinnamon 2.0 fix update being worked on? I really miss this extension. Thanks!

  29. norumaru says:

    2 years ago

    Excellent extension, but I'd like to change one thing: Is there a way to make it less sensitive? I am using it on a laptop and scroll with the touchpad, and it's very easy to "jump" a workspace and come out on the one after where I wanted to go. It's not a big problem, but it would be that bit more convenient... Thanks!

  30. Nijust says:

    2 years ago

    @Feles : I did what you wrote except i made "var x = getMonitorWidth() - this.metadata.activationAreaWidth;" because the right area was outside the reachable area.

  31. ldotcom says:

    2 years ago

    @julion22 : go to metadata.json then add 1.8 to version list, restart cinnamon, it will works

  32. julion22 says:

    2 years ago

    doesn't work anymore on Olivia

  33. matlala says:

    2 years ago

    excellent, works on 1.8.0, when added to metadata.json between versions

  34. libeccio says:

    2 years ago

    It's a good extension and I find it very useful in scale mode, but it interferes with document scroll in ordinary view. Is there a way to make it work only in scale view? I tried adding "if(Main.overview.animationInProgress)" inside "this.enable" declaration but it didn't work...

  35. AndydeCleyre says:

    2 years ago

    This would be very useful, but I can't use it as it is because it interferes with my dock (pantheon-dock/plank), preventing it from raising itself when the cursor touches the screen edge. A workaround that would help me would allow me to set only one edge of the screen to activate this extension.

  36. ccadeptic23 says:

    2 years ago

    geoffm the enable edge-flip is a different setting, and is unrelated to this extension. I'm sorry your having trouble but if you disabled the applet and restarted cinnamon this applet should stop. This extension is very small and doesn't change any external settings or files. Also you can check which extensions cinnamon has loaded by opening the looking glass extensions.

  37. geoffm says:

    3 years ago

    I found in dconf / org.cinnamon there's the option "enable-edge-flip" which was still enable. Maybe this is a bug? Does the extension enable the option and forgets to disable it when we disable the extension?

  38. geoffm says:

    3 years ago

    Even after disabling the extension, it still switches monitor when the cursor is near the screen edge! This is getting extremely annoying. I even erased the extension's folder, to no avail. Now what am I supposed to to to get my system back to normal?

  39. geoffm says:

    3 years ago

    I like the idea. I've been having it enabled for a while, but I disabled it. Turns out I don't use it so much, and I get way too many accidental switches, it seems like if we're just 10px from the screen edge it will switch. It often happens when I'm dragging the scrollbar of a maximised window. Yet, when I do want to use it and push the cursor to the edge, I feel it takes too much time to actually switch desktop. Maybe it would be better if we were offered options for the triggering conditions: [ ] switch when cursor hovers __ px from the edge for __ seconds [ ] switch when cursor is pushed __ px passed the edge [ ] switch when [left/right/middle] button is clicked with __ px of the edge

  40. Feles says:

    3 years ago

    Hey, this is a cool extension. One issue I had though was that it didn't work as I thought it would with dual monitors. The size of the scroll activation location was taken from the wrong monitor and it ended up with one of the locations being in the middle of the other monitor. I changed a few things around in extension.js, I added the function, function getMonitorWidth() { var monitorWidth = 0; for (i = 0; i < Main.layoutManager.monitors.length; i++) monitorWidth += Main.layoutManager.monitors[i].width; return monitorWidth; } which adds the widths of all the monitors up and returns them, and then in "main", in "this.enable = function()", I changed "var x" to be equal to "getMonitorWidth()". This ends up putting the left scroll location on the left of the leftmost monitor, and the right scroll location on the right of the rightmost monitor. This fix should work with any number of monitors, I believe although I've only tested it with two. Thanks again for the nice extension!

  41. chris4585 says:

    3 years ago

    Great extension but I just wanted the scroll on the bottom edge to do that replace the vars in extension.js to these: var monitor = Main.layoutManager.primaryMonitor var width = monitor.width var height = 5 var x = 0 var y = monitor.height - 5

  42. Scott65 says:

    3 years ago

    Hey. Thanks. Nice. Except I wish it had an option to scroll if the pointer stays on the edge for nnnn number of milliseconds with no need to use the scroll button at all.

  43. ernsth says:

    3 years ago

    I'm so sorry, but since I wrote this comment it looks like desktop scroller got scared and started to work... :~| Now everything is fine. I leave 5 stars for your work. king regards Hanno

  44. ernsth says:

    3 years ago

    I correct myself... I forgot to install gir1.2-gtop-2.0. System monitor does work fine.

  45. ernsth says:

    3 years ago

    Hi ccadeptic23, I love your desktop sroller and multi core system monitor too. Unfortunately both dont work anymore since I installed mint 14. :-( So I have to wait until you update your cinnamon and maybe you will fix it. ;-)

  46. wilo108 says:

    3 years ago

    this is very nice, thank you!

  47. legion1978 says:

    3 years ago

    What i see is that when cinnamon is restarted, it does remember which windows are in which workspace. Also when workspace is changed thru keyboard shortcut, it does show the name. So there must be a way to access this info/config somewhere. Script thing sounds like a good place to start. You can email it to :) thanx btw, last cinnamon update 1.6.4 seems to break destop scroller extension :'(

  48. ccadeptic23 says:

    3 years ago

    Im glad your enjoying this. Unfortunately this extension doesn't distinguish which workspace you are on or which your going to. It only registers that you want to go to the next or previous one. You can use your own image for the next and previous animations as long as they are in the right format of course. Its possible to add that feature to this and could be added in the future. As far as launching programs in specific workspaces. I really don't know. I think you can set that somewhere in the gnome config editor. But again I am just guessing about something i kinda sorta remember seeing one time. I used to use wmctl to move windows using a bash script in gnome 2. The script would launch the programs i wanted, then move them where i like them. It was neat. I had different setups for different tasks. Also it didn't have the problem where I wanted to open something quickly and it would open in another workspace. You could do something similar. Problem is you would need to write the script. I can send you the one I wrote to help you get started if you want. Just send me an email. Hope this helps.

  49. legion1978 says:

    3 years ago

    Nice work.. i was really needing this. Is there a way to display the workspace name on change? along with the arrow? or instead? thanx ps. and since youre on this.. is it possible to assign apps to a workspace? meaning if i run firefox, it will only open in workspace 5? i know its not directly related to this extension, i was just wondering. thank you

  50. sunboy says:

    3 years ago

    Hello, the new version is great, thank you ;) If you build Cinnamon from latest GIT, the extension does not work anymore. I think they have made some changes in the java api while doing the many commits regarding the applets and panel stuff.

  51. ccadeptic23 says:

    3 years ago

    Hello sunboy. After I made the last change I realized how bad they looked using the default icons. The next revision will address this. About the size of the "activation areas", I havent run into this behavior but i can see how this can be very annoying on a smaller screen. I wll reduce the size and perhaps add it as a configuration option. I should probably start testing this on a smaller screen. Maybe on a VM. Thanks for the feedback. Check back soon these wont be too difficult to implement. ToeBee, you are right. I am simply placing the "activation areas" at the edge of the "primary monitor". I will look into different ways I can do this. It maybe a simple fix, but with the state of documentation even simple things can be problematic. Also, There are so many ways to configure multiple monitors. Am I correct in assuming you have monitors side by side, and you would like only 2 "activation areas" one right-most of the right monitor and left-most of the left monitor? Having monitors placed vertically could get hairy. Thank you both for your feedback.

  52. sunboy says:

    3 years ago

    Thank you for that Extension, I like it! Here are two points that are important for me: 1. The switching Icons are very low resolution (At least with my standart Linux Mint themings). As mentioned before, using some SVG images from every Theme provides would be great! 2. There's a zone of about 10 px on the left and right side of the screen where desktop scrolling is activated when the mouse hovers and mouse wheel is scrolled. Of cause. But in that zones no other mouse clicks are coming through anymore. For example on maximized windows with thin scrollbars you cannot grab the bars anymore if they are covered by the scolling zone. I think it would be enough if the zone would only measure one px or so.

  53. ToeBee says:

    3 years ago

    Decided to give this a try but it doesn't handle dual monitors very well. It only scrolls at the left and right edges of my primary (left) monitor. If I slam my mouse all the way to the right edge of my desktop and scroll, nothing happens. I have to carefully place the mouse within a couple of pixels of the screen split in the middle. Don't feel too bad though. Just about nothing in Cinnamon, MATE or gnome-shell works well with dual monitors so at least you're in good company...

  54. ccadeptic23 says:

    3 years ago

    Thanks for the feedback. I am glad you like it. I put this together one night and by the time i was tweaking the icon display I got tired. If you notice i just used the characters -><. So I definitely agree about the icon. It will probably be the first thing i add in the next revision. Ill take a look at the icon sets to see which ones you are talking about. About adding my overlay to other ways of switching workspaces. That will be difficult, Im not sure i can make a global event like that. On the other hand I am new at this and will look into it. I apprieciate any suggestions.

  55. Danko8321 says:

    3 years ago

    Good extension, but I have several suggestions for you: Change the icon for the scrolling, it doesn't look very good. My suggestion: there is an icon in *every* cinnamon theme that is made precisely for that, but only up/down icons. they are scalable svgs and you can just flip them to each side and use them as the icons. As a second thing, make the screen notice appear *even* when you don't use the scroll to switch a desktop, it makes the effect more complete and avoids that fuzzy feeling of "there's something missing here". Other than that, a very good concept and good execution. Cheers. Danko.

  56. Ivan76 says:

    3 years ago

    Ma come la si richiama??? Un po piu descrizioni?????