2

У меня есть ноутбук с подключенным внешним монитором, так что на самом деле у меня два дисплея (с разными разрешениями, но, думаю, разрешение не имеет значения).

Когда я запускаю приложение Java (в моем случае Supermicro IPMIView), кажется, что приложение пытается вычислить размеры и поместить себя в какую-то центральную область экрана. Фактически, я вижу окно приложения, разделенное на две части - одну на первом мониторе и одну на второй. Эта проблема возникает только с приложениями Java.

Можно ли как-то заставить Java разместить свое окно на определенном мониторе (или, скажем, на любом мониторе, но только на одном мониторе одновременно)?

Приложение запускается при выполнении shell-скрипта, который проверяет многое в окружении и, в конце концов, удаляет код ./jre/bin/java com.zerog.lax.LAX /path/to/IPMIView20.lax /tmp/env.properties.12345

Я использую Kubuntu 16.04.

2 ответа2

1

Вы можете использовать xdotool чтобы изменить положение и размер окна после его появления. Возможно что-то вроде

xdotool search --name "Supermicro IPMIView" windowsize 800 600
xdotool search --name "Supermicro IPMIView" windowmove 10 10

Вы также можете настроить devilspie как демон, который делает это автоматически. Смотрите, например, документацию Ubuntu по Devilspie

0

Вероятно, вы не можете. Если разработчик приложения просто использовал фиксированную возможность или жестко закодированный "дисплей 0" (звучит так, как вы это описали), то он просто есть. Это не специфично для Java. Это звучит как дерьмовое программирование для меня.

Я получил довольно много Java-приложений и настройку с двумя мониторами, и я получил эту проблему только для приложений, в которых жестко прописана возможность (то же самое происходит с приложениями .Net или любым другим языком. / Framework, который вы хотите использовать, если программист жестко закодированная возможность)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .