Bug #1440
closedСвободная незанимаемая область в таббаре.
100%
Description
http://dump.bitcheese.net/images/ososete/screenshot.png
Область справа в таббаре остается не занятой при открытии новых вкладок.
Expected result:
вкладки занимают всю ширину таббара при
количестве вкладок n>=(Bw-Lw)/Tw, где Bw - ширина таббара, Lw - ширина последней вкладки ("+v"), Tw - максимальная ширина вкладки.
Actual result:
:(
STR:
System information:
LeechCraft 0.5.95-3523-g346cfba
Built with Qt 4.8.5, running with Qt 4.8.5
Running on: NAME=Gentoo x86_64 3.12.0-gentoo #1 SMP PREEMPT Wed Nov 13 02:02:02 MSK 2013
Updated by Mellon about 11 years ago
То есть, фактически требуется, чтобы при количестве вкладок n>[(Bw-Lw)/Tw], ширина каждой кроме последней вкладки была W=(Bw-Lw)/n и они занимали всю доступную ширину таббара.
Я уже хз, как ещё более однозначней объяснить :3
Updated by 0xd34df00d about 11 years ago
Сейчас для каждой вкладки размер рассчитывается следующим образом: берется ее желаемая ширина, и выбирается min (желаемая ширина, Tw = Bw / n). Соответственно, если некоторые вкладки (например, прикрепленные или с svg'шками, см. #1441) имеют желаемую ширину меньшую, чем максимальная Tw. то и суммарная ширина всех вкладок будет меньше, чем Tw * n = Bw. Этого можно избежать ценой существенного усложнения сложности алгоритма (как в человеческом смысле, так и асимптотики). Я не уверен, что оно того стоит.
Updated by Mellon about 11 years ago
а вот эта херь с желаемой шириной нужна разве?
Не проще ли сделать все вкладки одинаковой (равной максимальной) ширины изначально, за некоторыми исключениями вроде "+v"?
Updated by 0xd34df00d about 11 years ago
Тогда прикрепленные вкладки будут смотреться как кал, боюсь.
Updated by Mellon about 11 years ago
Ок.
Строго говоря у нас только два типа вкладок будут выглядить говном если у всех вкладок будет одинаковая ширина:
pintab и "+v".
Но дело в том, что ширина этих вкладок и так фиксирована и одинакова у всех вкладок этого типа, так что нет необходимости вычислять их желаемую ширину.
Касательно всех других типов вкладок то они будут норм выглядеть (надеюсь).
Updated by 0xd34df00d about 11 years ago
Их ширина не фиксирована, а просто соответствует желаемой. Ну и да, ядро про pintab ничего не знает, для ядра эти вкладки выглядят как просто вкладки без текста.
Updated by Mellon about 11 years ago
она может и не описана как фиксированная, но на деле ширина всех вкладок pintab одинакова и постоянна, ибо по сути там только фавиконка, и она всегда одного размера.
Updated by 0xd34df00d about 11 years ago
Но ядро-то про это не знает! Для ядра они выглядят как просто вкладки без текста, поэтому рассчитывать всё равно все размеры придётся как-то через зад.
Updated by Mellon about 11 years ago
Так ладно. По-ходу мы сбились с пути.
Ок, желаемая ширина некоторых вкладок меньше максимальной.
Хорошо. Это имеет значение когда суммарная шрина вкладок не дотягивает до ширины таббара.
НО тут ИНАЯ ситуация. вкладки начинают сжиматься задолго до заполнения ими таббара.
именно в этом баг.
Updated by 0xd34df00d about 11 years ago
Я не смог придумать идемпонтентный алгоритм. Представь себе, что у какой-то вкладки желаемая ширина больше текущей максимальной ширины, но меньше максимальной ширины с учётом оптимального заполнения. Лососнём тунца, боюсь.
Updated by 0xd34df00d about 11 years ago
Я короч это реджектю, если никто не против и ни у кого нет возражений :(
Updated by Mellon about 11 years ago
возражаю. это надо чинить. Прична "хз как" не подходит для режекта
Updated by Mellon about 11 years ago
И да, давай посмотрим, на самом ли деле лосеснем.
Updated by 0xd34df00d about 11 years ago
Мне очевидно, что лососнём — либо вкладки всё равно будут меньше желаемой ширины, либо больше, и окно разъедется.
Updated by 0xd34df00d about 11 years ago
- % Done changed from 0 to 100
- Status changed from New to Resolved
Applied in changeset main|commit:563cc0ae260b382eaf5d5d24b7bf8075c0b4417f.
Updated by 0xd34df00d about 11 years ago
- Target version set to 0.6.60
- Estimated time set to 5:00 h
Updated by Mellon about 11 years ago
- Status changed from Resolved to Closed
Отлично! Получилось же! Благодарю.