jc00ke / move-to-next-monitor Goto Github PK
View Code? Open in Web Editor NEWScript to move windows from one monitor to the next in Xubuntu
License: GNU General Public License v3.0
Script to move windows from one monitor to the next in Xubuntu
License: GNU General Public License v3.0
Hi,
I have two screen with different size. One in my laptop screen (1600x900 16/9) and the other is an external monitor (1280x1024 4/3).
I am using Xfce and was looking for a way to move windows from one screen to the other with a single keystroke. move-to-next-monitor works but some time, the windows is splited between the two monitors. A piece of the window is on the left monitor (laptop) and the rest in on the right monitor (erternal).
I guess this happens because the resolution of the laptop is higher than the one of the external monitor.
Is there a way to customize the script to handle this problem?
Here are some informations about my configuration:
nil4:~$ xdpyinfo | awk '/dimensions:/ { print $2; exit }' | cut -d"x" -f1
2880
pierre@nil4:~$ xdpyinfo | awk '/dimensions:/ { print $2; exit }' | cut -d"x" -f2
1024
pierre@nil4:~$ xdotool getdisplaygeometry | cut -d" " -f1
1280
pierre@nil4:~$ xdotool getdisplaygeometry | cut -d" " -f2
1024
$ xrandr
Screen 0: minimum 8 x 8, current 2880 x 1024, maximum 32767 x 32767
LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
1600x900 60.04*+ 40.03
1440x900 59.89
1368x768 60.00
1360x768 59.80 59.96
1152x864 60.00
1280x720 60.00
1024x768 60.00
1024x576 60.00
960x540 60.00
800x600 60.32 56.25
864x486 60.00
800x450 60.00
640x480 59.94
720x405 60.00
640x360 60.00
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected primary 1280x1024+1600+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.02*+ 75.02
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 60.32 56.25
848x480 60.00
640x480 75.00 59.94
720x400 70.08
1024x768 (0x112) 65.000MHz -HSync -VSync
h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.36KHz
v: height 768 start 771 end 777 total 806 clock 60.00Hz
800x600 (0x115) 40.000MHz +HSync +VSync
h: width 800 start 840 end 968 total 1056 skew 0 clock 37.88KHz
v: height 600 start 601 end 605 total 628 clock 60.32Hz
800x600 (0x116) 36.000MHz +HSync +VSync
h: width 800 start 824 end 896 total 1024 skew 0 clock 35.16KHz
v: height 600 start 601 end 603 total 625 clock 56.25Hz
640x480 (0x119) 25.175MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.47KHz
v: height 480 start 490 end 492 total 525 clock 59.94Hz
Shellcheck output: http://ix.io/1O7F
Git patch: http://ix.io/107J
I've read about some more issues related to maximizing windows, but I think this wasn't mentioned yet:
On Xubuntu 16.04, it is not possible for me to move maximized windows.
Also when running a fullscreen window (game opened with WINE) when moving to next monitor, the cursor focus is suddenly restricted to the next monitor (as it should) but the window itself remains on the current/previous monitor.
Also, after switching back to that previous monitor to regain control over that fullscreen window, it becomes uncontrollable (as if the cursor focus still isn't on that monitor, though it really is. Can't click any buttons.)
Hello. Thanks for the script, it saved me a lot of time :)
But in different systems xorg apps can be not installed. Please add to the README required packages list.
Thank you.
I tried setting up with my resolutions already like this:
DVI-1: 1920x1080
DVI-2: 1024x768
What ended up happening when I ran the script is it moved the window to the big monitor (DVI-1) and resized it OK, but when I pressed it again it toggled it back to the small monitor (DVI-2) it moved the window off the screen edge.
I was curious and tried setting them both to 1920x1080 and now it works as expected.
My guess is it does not work with different resolutions yet, or it does but it is broken.
Still love the script though, I have it binded and working with equal resolutions on both monitors and I love it! Exactly what I needed... Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.