I have a Manjaro VM whose desktop size (screen resolution) used to resize to match the VMware Workstation’s app windows size until just before the 25-06-23 update (Stable Branch, Xfce).
Today, I updated the system, which means I am applying both the 25-06-23 and the 25-07-12 updates at once.
Upon such update, the VM no longer resizes to mach the app window size.
I created it long ago with the help of package xorg-xrandr.
(I can give you details about my procedure from 2018)
What this file seems to do is add the possible resolution (in my case 1680x974) to the dropdown list of Resolution in System settings, Display & Monitor.
So, probably you only have to create this file with content above, set your resolution in the Modeline and Option line and reboot.
Then you still have to select your resolution in System settings.
Here’s what I did–for what it’s worth to anybody having the same trouble.
Note: I am not a computer person and don’t understand what I am doing, but the thing worked for me.
Run xrandr and see output like the following, where ** indicates some repetitive-looking stuff I cut out.
[luna@jar-j ~]$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192
Virtual-1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1280x800 60.00 + 59.81 59.91
4096x2160 60.00 59.94
**
1366x768 59.79 60.00
**
848x480 60.00
640x480 59.94
Virtual-2 disconnected (normal left inverted right x axis y axis)
**
[luna@jar-j ~]$
The two things I noted are Virtual-1 and the the 60 for (I believe) frequency
Run cvt 1500 1040 60 where 1500 1040 are the desired resolution and 60 is from step 1, and see output like:
If you run the same command multiple times, you may get different numbers for the series that starts with 129.25. I understand that you can use the series from output of any iteration of the command.
Create a script
In which you get to use
Virtual-1 from step 1 (for DISPLAY_OUTPUT) and
the Modeline from step 2 (for CUSTOM_MODE_NAME and CUSTOM_MODELINE).
The rest of the script I got from Google Gemini, and I do not understand it.
#!/bin/bash
# Define your display output name (e.g., Virtual-1, VGA-1)
DISPLAY_OUTPUT="Virtual-1"
# Define your desired custom resolution mode (from cvt command)
# Replace the Modeline with the exact one you generated
CUSTOM_MODE_NAME="1504x1040_60.00"
CUSTOM_MODELINE="129.25 1504 1592 1752 2000 1040 1043 1053 1079 -hsync +vsync"
# Check if the mode already exists to avoid errors
if ! xrandr | grep -q "$CUSTOM_MODE_NAME"; then
echo "Adding new mode: $CUSTOM_MODE_NAME"
xrandr --newmode "$CUSTOM_MODE_NAME" $CUSTOM_MODELINE
fi
# Check if the mode is already added to the output
if ! xrandr --verbose | grep "$DISPLAY_OUTPUT" | grep -q "$CUSTOM_MODE_NAME"; then
echo "Adding mode $CUSTOM_MODE_NAME to output $DISPLAY_OUTPUT"
xrandr --addmode "$DISPLAY_OUTPUT" "$CUSTOM_MODE_NAME"
fi
# Set the resolution for your display output
echo "Setting resolution for $DISPLAY_OUTPUT to $CUSTOM_MODE_NAME"
xrandr --output "$DISPLAY_OUTPUT" --mode "$CUSTOM_MODE_NAME"
echo "Resolution change attempted. Check your display."
Do whatever you have to do to make the script executable.
Create a desktop file for the script. The contents of the desktop file looks like this for me, where /home/luna/mntsw/0_screen_1504x1040 is my script’s (pretty unprofessional-looking) filepath.