История изменений
Исправление Midael, (текущая версия) :
Да, только на мультимониторных проявляется.
Там _NET_CURRENT_DESKTOP выставляется всегда равным индексу первого активного тега на праймари мониторе, а хром по нему потом неправильно положение своего окна определяет.
Решение в принципе тривиальное - ставить индекс активного тега активного монитора (это монитор на котором курсор), причем не только при переключениях тегов (как сейчас), но и при переходе мыши с монитора на монитор. Последнее реализовать проблематично, в принципе наверное безопасно вызывать апдейт при enter эвентах мыши (может не очень производительно, но лучше чем просто следить за курсором).
Я начинал писать патч, но застрял на получении списка тегов у screen_t (как альтернатива можно было бы получать screen_t у tag_t, но это тоже не реализовано). Причем на уровне луа, то ли у тега есть параметр screen, то ли наоборот, но вынести это на уровень сишной части пока что выше меня.
Все тайлинг wm current_desktop прописывают примерно так как я описал (у i3 немного по-другому, но там концепция немного другая - все на контейнерах, и вообще у них код занятный - такое плотное использование макросов вместо функций я за пределами кода для микроконтроллеров увидел впервые).
Исправление Midael, :
Да, только на мультимониторных проявляется.
Там _NET_CURRENT_DESKTOP выставляется всегда равным индексу первого активного тега на праймари мониторе, а хром по нему потом неправильно положение своего окна определяет.
Решение в принципе тривиальное - ставить индекс активного тега активного монитора (это монитор на котором курсор), причем не только при переключениях тегов, но и при переходе мыши с монитора на монитор. Последнее реализовать проблематично, в принципе наверное безопасно вызывать апдейт при enter эвентах мыши (может не очень производительно, но лучше чем просто следить за курсором).
Я начинал писать патч, но застрял на получении списка тегов у screen_t (как альтернатива можно было бы получать screen_t у tag_t, но это тоже не реализовано). Причем на уровне луа, то ли у тега есть параметр screen, то ли наоборот, но вынести это на уровень сишной части пока что выше меня.
Все тайлинг wm current_desktop прописывают примерно так как я описал (у i3 немного по-другому, но там концепция немного другая - все на контейнерах, и вообще у них код занятный - такое плотное использование макросов вместо функций я за пределами кода для микроконтроллеров увидел впервые).
Исправление Midael, :
Да, только на мультимониторных проявляется.
Там _NET_CURRENT_DESKTOP выставляется всегда равным индексу первого активного тега на праймари мониторе, а хром по нему потом неправильно положение своего окна определяет.
Решение в принципе тривиальное - ставить индекс активного тега активного монитора (это монитор на котором курсор), причем не только при переключениях тегов, но и при переходе мыши с монитора на монитор. Последнее реализовать проблематично, в принципе наверное безопасно вызывать апдейт при enter эвентах мыши (может не очень производительно, но лучше чем просто следить за курсором).
Я начинал писать патч, но застрял на получении списка тегов у screen_t (как альтернатива можно было бы получать screen_t у tag_t, но это тоже не реализовано). Причем на уровне луа, то ли у тега есть параметр screen, то ли наоборот, но вынести это на уровень сишной части пока что выше меня.
Исходная версия Midael, :
Да, только на мультимониторных проявляется.
Там _NET_CURRENT_DESKTOP выставляется всегда равным индексу первого активного тега на праймари мониторе, а хром по нему потом неправильно положение своего окна определяет.
Решение в принципе тривиальное - ставить индекс активного тега активного монитора (это монитор на котором курсор), причем не только при переключениях тегов, но и при переходе мыши с монитора на монитор. Последнее реализовать проблематично, в принципе наверное безопасно вызывать апдейт при enter эвентах мыши (может не очень производительно, но лучше чем просто следить за курсором).
Я начинал писать патч, но застрял на получении списка тегов у screen_t (как альтернатива можно было бы получать screen_t у tag_t, но это тоже не реализовано). Причем на уровне луа, то ли у тега есть параметр screen, то ли наоборот, но вынести это на уровень сишного рантайма пока что выше меня.