LINUX.ORG.RU

История изменений

Исправление den73, (текущая версия) :

Похоже, решение существует.

1. Делаем окно .q на весь экран.

2. Делаем окно .w намного поменьше (размером 1х1 пиксел) и располагаем его внутри содержимого окна .q (всё же winfo geometry показывает нам, где находится содержимое окна .q, а wm geometry показывает, где начинается рамка окна .q. Гарантии успеха у нас, тем не менее, нет.

3. Отступая разное расстояние наружу от содержимого окна .w, расположение к-рого мы знаем из .winfo geometry, ждём, пока winfo containing начнёт возвращать .w , а не пустоту. Так мы делаем для всех 4 сторон.

Если этого не случится, значит рамка в этом направлении слишком большая и нам не удастся сделать мозаику. Либо мы неудачно расположили окно .q внутри окна .w, но лично я ничего продумывать для этого случая не буду. В нормальных условиях рамки должны быть достаточно тонкими, чтобы окно размером 1х1 заведомо поместилось внутри окна, развёрнутого на весь экран.

Я хотел опереться на размеры экрана, но в офтопике они возвращаются неправильные для двух мониторов.

Исходная версия den73, :

Похоже, решение существует.

1. Делаем окно .q на весь экран.

2. Делаем окно .w намного поменьше (размером 1х1 пиксел) и располагаем его внутри содержимого окна .q (всё же winfo geometry показывает нам, где находится содержимое окна .q, а wm geometry показывает, где начинается рамка окна .q. Гарантии успеха у нас, тем не менее, нет.

3. Отступая разное расстояние наружу от содержимого окна .w, расположение к-рого мы знаем из .winfo geometry, ждём, пока winfo containing начнёт возвращать .w , а не пустоту. Так мы делаем для всех 4 сторон.

Если этого не случится, значит рамка в этом направлении слишком большая и нам не удастся сделать мозаику.

Я хотел опереться на размеры экрана, но в офтопике они возвращаются неправильные для двух мониторов.