summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2020-08-21 12:53:01 +0200
committerSimon Rettberg2020-08-21 12:53:01 +0200
commit3e1c221afeed6c121595eba37d5f3d001976a82c (patch)
tree51cf6cad45c6ca5c7a71b6fbc96b5783adf04a74
parent[metacity] Add module (diff)
downloadmltk-3e1c221afeed6c121595eba37d5f3d001976a82c.tar.gz
mltk-3e1c221afeed6c121595eba37d5f3d001976a82c.tar.xz
mltk-3e1c221afeed6c121595eba37d5f3d001976a82c.zip
[run-virt/vmware-common] Switch to xfwm4 for dual-screen
Giving up on the blackbox/automatic approach; it appears that using VMwareResolutionSet in a full-screen windows guest to enable more than one screen can lead to a complete freeze of the guest.
-rw-r--r--core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc13
-rw-r--r--core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/create_vmhome_preferences_file.inc4
-rw-r--r--core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/run-virt.include4
l---------core/targets/bwlp/blackbox1
l---------core/targets/stage32-bwlp/blackbox1
5 files changed, 16 insertions, 7 deletions
diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc
index 54f60e16..d9e5a27f 100644
--- a/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc
+++ b/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc
@@ -105,11 +105,20 @@ setup_virtual_floppy() {
SHARE_NO_HOME_WARN=0
fi
+ local resolution=
+ # Now that we fixed openslx.exe for VBox, we need the same hack for VMware
+ # since using VMwareResolutionSet can freeze the guest. Instead, we additionally
+ # show the full-screen toolbar again for > 1 display and let the user hammer
+ # the multi-screen button until it works.
+ if [ "$PLUGIN_ID" != "vmware" ] || [ "$DISPLAY_COUNT" -eq 1 ]; then
+ resolution="${RESOLUTIONS}"
+ fi
+
cat > "${FLOPPYDIR}/openslx.ini" <<-EOF
[openslx]
username=${UNAME}
- resolution=${RESOLUTIONS%% *}
- resolution2=${RESOLUTIONS}
+ resolution=${resolution%% *}
+ resolution2=${resolution}
createMissingRemap=${SHARE_CREATE_MISSING_REMAP}
remapMode=${SHARE_REMAP_MODE_INI}
homeDrive=${SHARE_HOME_DRIVE}
diff --git a/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/create_vmhome_preferences_file.inc b/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/create_vmhome_preferences_file.inc
index b4197051..82997e6b 100644
--- a/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/create_vmhome_preferences_file.inc
+++ b/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/create_vmhome_preferences_file.inc
@@ -4,6 +4,8 @@
###########################################
## Functions ##
create_vmhome_preferences_file() {
+ local nobar=1
+ [ "$DISPLAY_COUNT" -gt 1 ] && nobar=0
cat > "${VM_HOME}/preferences" <<-HEREEND
.encoding = "UTF-8"
# This configuration file was generated on $(date)
@@ -45,7 +47,7 @@ create_vmhome_preferences_file() {
# fullscreen/mouse/keyboard
pref.fullscreen.toolbarPixels = "0"
pref.vmplayer.fullscreen.autohide = "TRUE"
- pref.vmplayer.fullscreen.nobar = 1
+ pref.vmplayer.fullscreen.nobar = $nobar
pref.grabOnMouseClick = "TRUE"
pref.grabOnKeyPress = "TRUE"
pref.motionGrab = "TRUE"
diff --git a/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/run-virt.include b/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/run-virt.include
index 548dc97d..a59ea434 100644
--- a/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/run-virt.include
+++ b/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/run-virt.include
@@ -47,8 +47,8 @@ run_plugin() {
# If we have multi-screen, try to switch to blackbox, seems the only
# lean WM to handle this properly.
- if [ "$DISPLAY_COUNT" -gt 1 ] && command -v blackbox > /dev/null; then
- start_wm "blackbox"
+ if [ "$DISPLAY_COUNT" -gt 1 ] && command -v xfwm4 > /dev/null; then
+ start_wm "xfwm4"
fi
# HACK: make the mouse disappear
diff --git a/core/targets/bwlp/blackbox b/core/targets/bwlp/blackbox
deleted file mode 120000
index b055d69d..00000000
--- a/core/targets/bwlp/blackbox
+++ /dev/null
@@ -1 +0,0 @@
-../../modules/blackbox \ No newline at end of file
diff --git a/core/targets/stage32-bwlp/blackbox b/core/targets/stage32-bwlp/blackbox
deleted file mode 120000
index b055d69d..00000000
--- a/core/targets/stage32-bwlp/blackbox
+++ /dev/null
@@ -1 +0,0 @@
-../../modules/blackbox \ No newline at end of file