2

I have a window I move from one monitor to another in steps. The Compiz "Place Window" plug-in intercepts the movements and initially stops it from moving to the next monitor. Then it jumps to the next monitor and freezes. Then it continues the last few steps.

To override the "place window" plugin python issues some CLI commands. Note: $ and extra lines added for readability:

$ gsettings get org.compiz.core:/org/compiz/profiles/unity/plugins/core/ active-plugins

['core', 'composite', 'opengl', 'regex', 'mousepoll', 'animation', 'wall', 'vpswitch', 'session', 'snap', 'workarounds', 'compiztoolbox', 'imgpng', 'resize', 'move', 'place', 'expo', 'fade', 'ezoom', 'scale', 'switcher', 'unityshell']

If 'place' appears between the 'move' and 'expo' plug-ins, remove it using:

$ gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ active-plugins

"['core', 'composite', 'opengl', 'regex', 'mousepoll', 'animation', 'wall', 'vpswitch', 'session', 'snap', 'workarounds', 'compiztoolbox', 'imgpng', 'resize', 'move', 'expo', 'fade', 'ezoom', 'scale', 'switcher', 'unityshell']"

Then move window between two monitors gradually in steps. When done issue gsettings command again:

$ gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ active-plugins 

"['core', 'composite', 'opengl', 'regex', 'mousepoll', 'animation', 'wall', 'vpswitch', 'session', 'snap', 'workarounds', 'compiztoolbox', 'imgpng', 'resize', 'move', 'place', 'expo', 'fade', 'ezoom', 'scale', 'switcher', 'unityshell']"

In python-xlib is there a way of doing it by setting a Window state or property?

  • 1
    Wouldn't know about your question though as far as current process would just create 2 scripts for the 2 set commands and then 2 desktop launchers to run them. Then it's just a double click to employ. ( or maybe 1 script with a sleep between commands – doug Jun 26 '21 at 15:01
  • 1
    ccsm may have some options to filter window ids. – N0rbert Jun 26 '21 at 17:21
  • @N0rbert I installed ccsm a couple of days ago. This is how I discovered disabling place windows plug-in allows moving window smoothly across two monitors. You can do it with the mouse, just not with xdotool, wmctrl, gtk or python-xlib. I see they have a dbus interface though and there might be something there to help out. – WinEunuuchs2Unix Jun 27 '21 at 00:09
  • @doug Thanks for the suggestion. If I have to go the route, I will call gsetting directly from python before and after I move the window. – WinEunuuchs2Unix Jun 27 '21 at 00:11

0 Answers0