Bug #1440
closed
Свободная незанимаемая область в таббаре.
Added by Mellon almost 11 years ago.
Updated almost 11 years ago.
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
То есть, фактически требуется, чтобы при количестве вкладок n>[(Bw-Lw)/Tw], ширина каждой кроме последней вкладки была W=(Bw-Lw)/n и они занимали всю доступную ширину таббара.
Я уже хз, как ещё более однозначней объяснить :3
Сейчас для каждой вкладки размер рассчитывается следующим образом: берется ее желаемая ширина, и выбирается min (желаемая ширина, Tw = Bw / n). Соответственно, если некоторые вкладки (например, прикрепленные или с svg'шками, см. #1441) имеют желаемую ширину меньшую, чем максимальная Tw. то и суммарная ширина всех вкладок будет меньше, чем Tw * n = Bw. Этого можно избежать ценой существенного усложнения сложности алгоритма (как в человеческом смысле, так и асимптотики). Я не уверен, что оно того стоит.
а вот эта херь с желаемой шириной нужна разве?
Не проще ли сделать все вкладки одинаковой (равной максимальной) ширины изначально, за некоторыми исключениями вроде "+v"?
Тогда прикрепленные вкладки будут смотреться как кал, боюсь.
Ок.
Строго говоря у нас только два типа вкладок будут выглядить говном если у всех вкладок будет одинаковая ширина:
pintab и "+v".
Но дело в том, что ширина этих вкладок и так фиксирована и одинакова у всех вкладок этого типа, так что нет необходимости вычислять их желаемую ширину.
Касательно всех других типов вкладок то они будут норм выглядеть (надеюсь).
Их ширина не фиксирована, а просто соответствует желаемой. Ну и да, ядро про pintab ничего не знает, для ядра эти вкладки выглядят как просто вкладки без текста.
она может и не описана как фиксированная, но на деле ширина всех вкладок pintab одинакова и постоянна, ибо по сути там только фавиконка, и она всегда одного размера.
Но ядро-то про это не знает! Для ядра они выглядят как просто вкладки без текста, поэтому рассчитывать всё равно все размеры придётся как-то через зад.
Так ладно. По-ходу мы сбились с пути.
Ок, желаемая ширина некоторых вкладок меньше максимальной.
Хорошо. Это имеет значение когда суммарная шрина вкладок не дотягивает до ширины таббара.
НО тут ИНАЯ ситуация. вкладки начинают сжиматься задолго до заполнения ими таббара.
именно в этом баг.
Я не смог придумать идемпонтентный алгоритм. Представь себе, что у какой-то вкладки желаемая ширина больше текущей максимальной ширины, но меньше максимальной ширины с учётом оптимального заполнения. Лососнём тунца, боюсь.
Я короч это реджектю, если никто не против и ни у кого нет возражений :(
возражаю. это надо чинить. Прична "хз как" не подходит для режекта
А ведь именно что хз, как.
И да, давай посмотрим, на самом ли деле лосеснем.
Мне очевидно, что лососнём — либо вкладки всё равно будут меньше желаемой ширины, либо больше, и окно разъедется.
- % Done changed from 0 to 100
- Status changed from New to Resolved
Applied in changeset main|commit:563cc0ae260b382eaf5d5d24b7bf8075c0b4417f.
- Target version set to 0.6.60
- Estimated time set to 5:00 h
- Status changed from Resolved to Closed
Отлично! Получилось же! Благодарю.
Also available in: Atom
PDF