Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Изменение размера окна TC при переключении юзеров (Win7x64)
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение printer-friendly view
View previous topic :: View next topic  
Author Message
greeneyes



Joined: 09 Dec 2013
Posts: 5

Post (Separately) Posted: Mon Dec 09, 2013 19:35    Post subject: Изменение размера окна TC при переключении юзеров (Win7x64) Reply with quote

Коллеги!

Купил новый комп, установил винду 7ку, 64х разрядную. Поставил любимый тотал. На компе 2 пользователя с разными учетками, с разными настройками тотала.
Проблема: когда делаешь блокировку компа (WIN+L) и входишь под другой учеткой, или даже под своей сразу, то тотал из "нормального состояния" (высота, ширина, начальная точка) превращается в "уменьшенный" (высота и ширина меньше, начальная точка сдвинута).
Описываю словами, т.к. не дает постить ссылки Wink

PS. Доступ на папку и на файл wincmd.ini есть, конечно.
Как лечится: заходим под пользователем, закрываем тотал (ALT+F4), запускаем снова - нормальный вид.
Но каждый раз при смене учетки - такая вот проблема.

PS. Комп не выключается никогда (только иногда штатно перезагружается, раз в 2-4 недели).

Спасибо заранее.

Добавлено спустя 2 минуты:

http://yadi.sk/d/eqWRKoSCE3JZX - нормальный размер
http://yadi.sk/d/oCzx1abjE3JYS - уменьшенный размер
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Mon Dec 09, 2013 19:50    Post subject: Reply with quote

Может, надо сделать "Конфигурация - Сохранить позицию"?

Юзеров два, а конфиг где хранится? В папке программы или в профилях? Если в профилях, они вообще не могут друг другу мешать... А если в папке программы, то рекомендую вынести секции с расположением окон в конфиг в профиле.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
greeneyes



Joined: 09 Dec 2013
Posts: 5

Post (Separately) Posted: Mon Dec 09, 2013 19:58    Post subject: Reply with quote

Сохраняю позицию, конечно... Иначе бы при закрытии и открытии заново он бы вылазило в мелкой позиции.

А хранится штатно:
c:\Users\Иван\AppData\Roaming\GHISLER\wincmd.ini

Доступ на файл и папку есть.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Mon Dec 09, 2013 23:22    Post subject: Reply with quote

greeneyes
Я бы предложил проверить поведение других программ, у которых размер окна был бы предварительно выставлен таким же, как у Тотала на первом скриншоте.

Имеются основания предположить, что виновата здесь сама винда. И лечения, увы, обнаружить мне пока не удалось. У неё очень странные представления о текущем разрешении экрана, и во многих ситуациях это разрешение уменьшается, а затем восстанавливается — виртуально или реально, но невидимо для пользователя. В частности, у меня такое происходит при запуске некоторых игр, при уходе компа в сон, и ещё в некоторых случаях, которые я пока не выловил. Несмотря на внешнюю незаметность этого события, какая-то перерисовка выполняется, и все окна на экране перестраиваются так, чтобы влезть в новое уменьшенное разрешение. Соответственно, окна из нижнего правого угла смещаются вверх-влево, размеры больших окон уменьшаются, значки на рабочем столе (если их много) съезжают со своих мест и т. д.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Dec 10, 2013 11:09    Post subject: Reply with quote

CaptainFlint,
Есть такое при работе с полноэкранными приложениями. Но тут вроде речь идет даже о банальном Win+L с последующей разблокировкой...
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Tue Dec 10, 2013 12:38    Post subject: Reply with quote

MVV wrote:
Есть такое при работе с полноэкранными приложениями. Но тут вроде речь идет даже о банальном Win+L с последующей разблокировкой...

У меня происходит и при переходе в ждущий/спящий режимы. С Win+L не воспроизводится, но у меня и пользователь только один, а greeneyes говорил про переключение между пользователями. Ну и, наконец, не исключаю вероятности, что установлен какой-то дополнительный софт, из-за которого проблема начала проявляться и при обычной блокировке.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
greeneyes



Joined: 09 Dec 2013
Posts: 5

Post (Separately) Posted: Tue Dec 10, 2013 18:37    Post subject: Reply with quote

Еще поэкспериментировал. Нажимаю Win-L
"Перерисовки" экрана нет. Ввожу пароль - всё нормально.

Снова блокировка. нажимаю на "Сменить пользователя". Черный экран на мгновение, далее - приглашение, выбор из 2х пользователей. Захожу. Снова нормально.

Блокировка - заход под другим пользователем - блокировка - заход под собой. И снова нормально.

Но. Если я оставлю на некоторое время, например 30 минут - то проблема проявляется.

PS. Проблема была с самого начала установки Windows (3 месяца) (Собственно, Windows, далее Тотал... ну это логично, первое приложение! ... далее драйверы... Wink)
Т.е. с приложениями никак не связываю.

С другими приложениями попробую.
+ еще идея - удалить файл wincmd.ini и попробовать то же самое со файлом по-умолчанию... Отпишусь обязательно.

Еще идеи?!
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Tue Dec 10, 2013 18:57    Post subject: Reply with quote

greeneyes
Повторю свою просьбу проверить с другими приложениями, выставив предварительно у них размер и положение окна такими же, как у Тотала. От этого зависит, с Тоталом нужно разбираться или же с операционкой (а заодно и в каком подфоруме должно вестись обсуждение).
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
greeneyes



Joined: 09 Dec 2013
Posts: 5

Post (Separately) Posted: Tue Dec 10, 2013 19:33    Post subject: Reply with quote

Попробовал. Maxthon ведет себя также. Т.е. проблема в windows, а не в тотале.

Last edited by greeneyes on Tue Dec 10, 2013 22:59; edited 1 time in total
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Dec 10, 2013 20:12    Post subject: Reply with quote

А я могу подтвердить, что у меня на виртуалке с 2 пользователями наблюдается такое же поведение системы: жму "сменить пользователя", пару секунд черный экран, потом выбираю своего же, ввожу пароль - все окна съехали. Однако, съехали не столь сильно, так что, возможно, где-то можно задать разрешение экрана приветствия...
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Tue Dec 10, 2013 22:16    Post subject: Reply with quote

Раз дело всё-таки в Windows, тема переносится в "Программное обеспечение".
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
greeneyes



Joined: 09 Dec 2013
Posts: 5

Post (Separately) Posted: Tue Dec 10, 2013 23:00    Post subject: Reply with quote

Спасибо. Посмотрим, что скажут профи по Windows 7 Smile
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Sat Dec 14, 2013 23:56    Post subject: Reply with quote

Постараюсь описать причину проблемы простым языком без сильного углубления в теорию.
Опишу только практику и происходящие шаги.

Шаг 1 - прелюдия.
В нормальной работе при вхождении пользователя рабочий стол отрисовывается в том разрешении, что было установлено настройками экрана. (пример пусть будет как у моего монитора - 1920х1080).

Шаг 2 - смена пользователя (два сценария)
А. Пуск -> сменить пользователя -> энтер... переходим к шагу 3.
(или)
Б. Win+L -> при блокировке экрана поверх всех окон, десктопа и панелей рисуется экран блокировки с полем для пароля -> жмём "сменить юзверя" - с тем же результатом переходим к шагу 3.

Шаг 3 - момент смены пользователя.
Итак, мы нажали "смену пользователя", далее мы видим, что монитор гасится на 2-3 сек, затем отрисовывается экран списка пользователей.
И тут как раз - самое интересное.
Именно в момент "потухания" происходит:
А. весьма быстрое исчезание видеосигнала - кадра на 2-3, по времени - это где-то 0,2-0,5 сек, не больше,
Б. затем выводится чёрный экран в разрешении на одну ступень ниже актуального - где-то 0,5-1,0 сек (по моему монитору это 1680х1050),
В. затем снова сигнала нет пару кадров,
Г. и только после всего этого рисуется экран со списком пользователей в опять уже правильном разрешении.

Шаг 4 - получаем результаты
Далее можно переключаться на другого пользователя, там что-то сделать и вернуться обратно. Можно на другого не переходить, а просто вернуться обратно на того, из которого только что вышли.
Важно - что был выход из сеанса пользователя (без его завершения) а потом - вход обратно.
Итак, что мы видим теперь из моего примера. Все НЕполноэкранные окна, имевшие размер больше, чем 1680х1050, уменьшились до этого размера (например, браузер был 1844х644, стал 1680х644).
Ещё, в случае удачного совпадения момента влогинивания и момента отображения всплывалки сообщения скайпа в правом углу (например, кто-то "вовремя" написал), эта самая всплывалка оказывается не в углу а в позиции, соответствующей углу кадра 1680х1050.
В общем, такое поведение получается практически со всеми окнами, рисующими свои размеры и позицию системным способом. Положение окон, кстати, тоже может уходить влево вверх, если до этого оно выступало за границы "минус первой ступеньки" разрешения экрана.
Такой же результат можно получить вручную просто изменив разрешение монитора на одну ступень вниз, а затем вернув обратно.

Вместо заключения.
К сожалению причины подобного поведения мне неясны. Возможно это - технический момент, т.к. в момент смены пользователя пока монитор гаснет, кратковременно отключается также вся периферия, гаснут индикаторы и подсветка клавиатуры и мышки.
Баг или фича - тоже неясно, т.к непонятен практический смысл таких действий.

Подобной проблеме подвержена вся линейка Windows 6.x - т.е., Vista, 7, 8.
К сожалению, про Win XP точно сказать не могу - когда она использовалась, у меня не было надобности в параллельной работе пользователей.

Небольшие поправки к примеру:
1. Взятые цифры 1920х1080 и 1680х1050 - это как раз родное разрешение моего рабочего монитора и "минус одна ступенька" соответственно.
2. Другой рабочий пример - на ноутбуке с экраном 1366х768 такой ступенькой оказалась 1280х768. Обрезка до кадра происходит аналогично.
3. При многомониторных конфигурациях сдвиги позиций получаются ещё более интересные.
4. Обладатели быстрых мониторов с цифровым интерфейсом могут успеть разглядеть один-два кадра чёрного экрана шага 3Б между исчезаниями сигнала в шагах 3А и 3В.

Немного практики
Увидеть своими глазами можно происходящее и без быстрого монитора, достаточно инета, второго компа и TeamViewer'а.
Идельный вариант - когда будем управлять удалённо с десктопа (компа с 1920х1080) ноутом с его родным 1366x768.
Итак:
1. подключаемся на удалённое управление ноутом, получаем кадр 1366х768 в окне тимвьювера,
2. жмём смену пользователя на ноуте
3. (хоть программа выдаст, мол сеанс приостановлен, ни в коем случае не отключаемся, следим дальше!)
4. окно управления на десктоме становится по размеру 1280х768 (это хорошо заметно, обращаем на это особое внимание)
5. на ноуте обратно возвращаеся на вышедшего пользователя
6. окно управления на дестопе возвращается к нормальному размеру
П.с.
Важно, чтобы на десктопе разрешение экрана было с запасом больше, чтобы можно было заметить уменьшение размера окна управления. В данном случае оно будет в 100% масштабе соответствовать разрещению экрана ноута и менять свои размеры при перелогинивании на ноуте.

p.s.
После всего многобуквия.
Всё вышеизложенное 100% воспроизводится на практике в моих рабочих условиях, все указанные разрешения (1080p и 768p) реальны, все "предыдущие" ступеньки были сначала рассчитаны теоретически, затем подтверждены на практике.
Если какой-то момент остался неясен - обращайтесь, постараюсь описать подробнее.
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Mon Dec 16, 2013 03:15    Post subject: Reply with quote

Для владеющих английским информация по теме:
ссылка
ссылка
И да, из этой инфы получается, что win xp тоже имеет такой косяк, а решения не дали даже мелкомягкие.
Только какой-то патч для XP, который может помочь в некоторых особо ужасных случаях (когда исходное разрешение не восстанавливается обратно).
Так что... раньше с этой проблемой было ещё хуже...
Благо не все проги рисуют позиции своих окон "стандартным" методом... (например, Winamp не страдает обрезкой размеров окна).

p.s.
И ещё вдогонку к предыдущему сообщению. Если разница между ступеньками небольшая (например, как у меня в примере с ноутом - 1280х768 и 1366х768 очень близки по размеру), то визуально разницу можно не заметить. Для того, чтобы увидеть всю суть проблемы, достаточно просто растянуть окно (любое - проводника, тотал, браузер, например) по горизонтали и вертикали до краёв (но не разворачивать в полноэкранку). Тогда после возврата на пользователя обратно будет видно точно, что куда режет.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Mon Dec 16, 2013 11:21    Post subject: Reply with quote

Думаю, Winamp просто сам восстанавливает положение и размеры окон, наверняка народ пожаловался. Потому как, насколько я понимаю, все окна менеджер окон сам сдвигает в кучу и уменьшает размер тех, которые можно уменьшить, и которые не умещаются на экране.

Второй пользователь и не нужен, чтобы воспроизвести проблему. Достаточно нажать Win+L и щелкнуть кнопку смены пользователя, она там всё равно будет.

Проблема, вообще-то, куда шире, чем с переключением пользователей: любое полноэкранное приложение временно переключает разрешение экрана, если оно не соответствует заданному, и при, скажем, аварийном выходе, оно остается уменьшенным. Думаю, возможно создать программу, которая будет отлавливать изменения разрешения экрана и, если оно временное, запоминать текущие положения всех окон, чтобы затем их восстановить... Для восстановления положения значков на десктопе я видел прогу, но положение окон она не восстанавливает.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group