AMO: https://addons.mozilla.org/firefox/addon/download-panel-tweaker/
Автор: Infocatcher
Описание: Некоторые улучшения для встроенной панели загрузок.

Настраиваемость и внешний вид.
kiss_121kb.1392055964.jpg
kiss_54kb.1392056271.jpg

Тестовые версии и исходники

Download Panel Tweaker 0.2.0: https://addons.mozilla.org/firefox/addon/download-panel-tweaker/versions/0.2.0

Все-таки собрался и написал про неравную борьбу с пропадающими завершенными загрузками:
http://habrahabr.ru/post/215175/

Возможно ли сделать дополнительные кнопки к каждой загрузке, рядом с кнопками "прервать загрузку", которые позволяли бы удалять загрузки вместе с  файлами с диска ?

Baron_ пишет

Возможно ли сделать дополнительные кнопки к каждой загрузке, рядом с кнопками "прервать загрузку", которые позволяли бы удалять загрузки вместе с  файлами с диска ?

Теоретически – можно.
Но оригинальные кнопки сделаны через <xul:stack> и вот такие замечательные стили (chrome://browser/content/downloads/downloads.css):

Выделить код

Код:

/*** Visibility of download buttons ***/

.download-state:not(:-moz-any([state="-1"],/* Starting (initial) */
                              [state="5"], /* Starting (queued)  */
                              [state="0"], /* Downloading        */
                              [state="4"]) /* Paused             */)
                                           .downloadCancel,

.download-state:not(:-moz-any([state="2"], /* Failed             */
                              [state="3"]) /* Canceled           */)
                                           .downloadRetry,

.download-state:not(          [state="1"]  /* Finished           */)
                                           .downloadShow

{
  visibility: hidden;
}

.download-state[state="1"]:not([exists]) .downloadShow
{
  display: none;
}

Так что для добавления дополнительных кнопок нужно или вручную смещать кнопки относительно оригинальных, или отключить оригинальные стили для <xul:stack> и управлять видимостью оригинальных кнопок самостоятельно.
Это все не очень надежно и трудно поддерживать.
И еще нужны иконки под разные ОС...

Вдобавок кнопки жестко заданы через

Выделить код

Код:

richlistitem[type="download"] {
  -moz-binding: url('chrome://browser/content/downloads/download.xml#download');
}

, а расширяющий биндинг может быть только один. Хотя, конечно, можно отслеживать изменения списка и добавлять кнопки вручную.

Жаль. Не очень удобно, для удаления скачанных файлов, запускать другие приложения.

Baron_ пишет

Жаль. Не очень удобно, для удаления скачанных файлов, запускать другие приложения.

Ну да, меня уже просили: https://github.com/Infocatcher/Download … /issues/15
В контекстом меню, наверное, все же сделаю.

Infocatcher пишет

В контекстом меню, наверное, все же сделаю.

На всякий случай скажу, что если через диалог(хотите ли вы удалить файл), то как бы бессмысленно заморачиваться.

Baron_
Папочку с загрузками на панель задач. А потом ненужные файлы этак мышкой в корзинку.
Куда лучше, чем ставить дополнения весом с Мб.

Pony_Smile_Pack пишет

Папочку с загрузками на панель задач. А потом ненужные файлы этак мышкой в корзинку.
Куда лучше, чем ставить дополнения весом с Мб.

Да, а можно еще и файл менеджер открыть и из него удалять. А смысл? Если то же самое гораздо удобнее делать из списка?
Типа вот так

скрытый текст
xtu.gif

Или, может, наплевать на удобства и пользоваться другим браузером? Чтобы дополнения весом в мегабайт не ставить.

Infocatcher
есть feature request, но не знаю насколько сложно будет его реализовать:
приделать функцию сохранения мета-информации о скачиваемых файлах в descript.ion, добавляя записи о каждом скачанном файле.
Записи можно или жёстко прописать или совсем уж круто было бы сделать их настраиваемыми.
Какая мета-информация должна сохраняться в descript.ion?
а) url напрямую на файл
б) url на страницу с которой был скачан файл
в) заголовок страницы откуда был скачан файл
г) дата и время скачивания файла (не все сервера отдают файлы так, что при их скачивании модифицируется их дата и время создания)
д) если была бы возможность при скачивании ещё и вручную дописать какой-то текст в descript.ion - было бы совсем шоколадно, можно было бы быстро что-то скопировать со страницы и добавить к описанию.

Может мой feature request немного не по адресу (твоё дополнение, всё-таки, прежде всего занимается улучшениями самой download панели, а не загрузок вообще), а может и по адресу.

iDev.Pi пишет

Может мой feature request немного не по адресу (твоё дополнение, всё-таки, прежде всего занимается улучшениями самой download панели, а не загрузок вообще), а может и по адресу.

В принципе, да. Все, кроме добавления произвольного комментария можно сделать, просто отслеживая оповещения о загрузках (то есть привязки ни к интерфейсу, ни к самой панели загрузок нету).

По поводу даты – сейчас всем загрузкам должно ставить дату скачивания.
И это никак нельзя изменить (точнее, простым способом нельзя), начиная с Firefox 26.
Да и вообще с информацией не особо – из перечисленного можно узнать только URL и referrer (и то не всегда).

Собственно, вот:
https://developer.mozilla.org/en-US/doc … _downloads
И вот, что можно оттуда вытянуть:
https://developer.mozilla.org/en-US/doc … Properties
https://developer.mozilla.org/en-US/doc … loadSource

Infocatcher пишет

В контекстом меню, наверное, все же сделаю.

Так тоже не плохо. Можно ожидать в ближайшем будущем?

Baron_ пишет

Можно ожидать в ближайшем будущем?

Не знаю, как получится.
С контекстным меню никаких сложностей быть не должно, но периодически возникают более приоритетные задачи.

Сделал некий прототип: https://github.com/Infocatcher/Download … ecc47bd8a0
Но ничего особо не проверял, так что тестовых версий пока не будет (однако всегда можно упаковать самостоятельно).

Infocatcher пишет

Сделал некий прототип: https://github.com/Infocatcher/Download … ecc47bd8a0
Но ничего особо не проверял, так что тестовых версий пока не будет (однако всегда можно упаковать самостоятельно).

Попробовал, спасибо. Все хорошо, только маленький недостаток: при удалении файла с диска не удаляет его из истории. Приходится делать в два  шага - сначала удалять с диска, потом из истории.

Baron_ пишет

при удалении файла с диска не удаляет его из истории.

Это не было реализовано, добавил настройку extensions.downloadPanelTweaker.removeFile.clearHistory (пока что по умолчанию отключено):
https://github.com/Infocatcher/Download … 02c080f65a

Отлично! Спасибо.

В процессе использования расширения захотелось большего. Возможно ли указывать папку, куда загружен файл, в строке, где  имя файла или в строке, где указаны размер и время скачивания? Или во всплывающей подсказке при наведении на строку?

Baron_ пишет

Возможно ли указывать папку, куда загружен файл, в строке, где  имя файла или в строке, где указаны размер и время скачивания? Или во всплывающей подсказке при наведении на строку?

Можно попробовать переделать всплывающую подсказку у имени файла.
Но надо смотреть, как там реализовано добавление/изменение загрузок в списке – одно дело подправить одну функцию для получения текста подсказки (например, так сейчас выводится скорость загрузки) и совсем другое делать все это вручную.

Infocatcher пишет

Можно попробовать переделать всплывающую подсказку у имени файла.

Если вас не слишком затруднит...

Вместо очистки панели загрузок стёр все свои загрузки за последние одиннадцать лет. Вы бы сделали эту строчку меню отключаемой, что ли?

P.S.: В каком файле профиля хранится история загрузок?

Tiger.711 пишет

Вместо очистки панели загрузок стёр все свои загрузки за последние одиннадцать лет. Вы бы сделали эту строчку меню отключаемой, что ли?

Пока что это можно сделать только стилями через userChrome.css.

Tiger.711 пишет

P.S.: В каком файле профиля хранится история загрузок?

В places.sqlite.

Понятно. Я потерял все загрузки. Пичаль.

Infocatcher, указание путей можно ожидать?

Tiger.711, можно поинтересоваться, для чего хранить список загрузок 11 лет, если программы, ссылки и прочее, становятся неактуальными за гораздо меньший срок?

Baron_ пишет

Infocatcher, указание путей можно ожидать?

В ближайшее время нужно выпустить обновления для Australis'а, так что пока не до этого.

Infocatcher пишет

Можно попробовать переделать всплывающую подсказку у имени файла.

https://github.com/Infocatcher/Download … /issues/22
(там внизу есть ссылка на тестовую версию)

Очень хорошее расширение получилось. Я бы сказал, близко к идеалу.

Tiger.711 пишет

Вместо очистки панели загрузок стёр все свои загрузки за последние одиннадцать лет. Вы бы сделали эту строчку меню отключаемой, что ли?

Добавил отключаемый запрос подтверждения перед очисткой.
С отключением пунктов пока не приоритетно, они стилями скрываются.

Download Panel Tweaker 0.2.1: https://addons.mozilla.org/firefox/addon/download-panel-tweaker/versions/0.2.1

Baron_
Далеко не все, ссылки на ftp с комиксами до сих пор живые.

Infocatcher
Спасибо.

Download Panel Tweaker 0.2.2: https://addons.mozilla.org/firefox/addon/download-panel-tweaker/versions/0.2.2

Infocatcher

Добавлена возможность не подсвечивать кнопку с новыми завершенными загрузками (по умолчанию отключено)

К этой функции еще хорошо бы добавить также и отключение этой большой стрелки.
5VlHJsr.png

Northtech
Эта анимация встроенной настройкой выключается: browser.download.animateNotifications

Infocatcher
О, благодарю. Не знал о такой настройке.

А можно добавить в расширение возможность показывать ссылку откуда качается файл (размещать ее на следующей строке после скорости)?
А если например длинный адрес, то посередине обрезать (примерно так - http://someadress.com/346346346436...54745744444.html)
ILk9PXL.png

Northtech пишет

А можно добавить в расширение возможность показывать ссылку откуда качается файл (размещать ее на следующей строке после скорости)?

Там сложно с модификациями, оригинальное содержимое строк задано через XBL:

Выделить код

Код:

richlistitem[type="download"] {
  -moz-binding: url('chrome://browser/content/downloads/download.xml#download');
}

Можно подменить его, но только одно расширение может нормально переопределить binding, там с совместимостью не очень будет.
Или вручную добавлять при создании строк, но тогда нужно отслеживать добавление и изменение строк (при изменениях может заново примениться оригинальный binding, затерев все добавленное).

В общем, принципиально реализуемо, но пока подобных планов нет. Так-то уже и кнопки просили дополнительные... :)

Download Panel Tweaker 0.2.3: https://addons.mozilla.org/firefox/addon/download-panel-tweaker/versions/0.2.3

В одном из обновлений сломалась совместимость с All-in-One Sidebar. Кнопка вместо открытия сайдбара отображает панельку. Деактивация этого расширения чинит эту кнопку. Давным-давно когда-то корректно работало, и стиль закачек в AIOS был компактным (для этого я и ставил твикер). Может быть несложно починить...

VEG
Ага, вижу. Это после добавления настройки «Открывать панель сразу после нажатия мыши на кнопке загрузок» такое. Если выключить, должно починиться.

Infocatcher
Спасибо, помогло.

Northtech
Что то подобное видел для stylish-Firefox download manager visible url
А у конкурента даже реализовано,правда ссылка находится сверху- Download Manager Tweak

Infocatcher
1.Добавьте, пожалуйста, управление размером иконок загруженных файлов (и скрытием их вообще). Уж больно они большие.
Для себя решил эту проблему стилем
.downloadTypeIcon {
  -moz-margin-end: 2px;
  -moz-margin-start: 4px;
  height: 24px !important;
  width: 24px !important;
}
Но из дополнения было бы удобнее.
2.Показ полного пути файла во всплывающей подсказке не работает в боковой панели All-in-One Sidebar. Так и должно быть?
3.Для загруженных файлов показывается только дата загрузки в не очень удобном виде ("Вчера", "март 25-е"). Можно ли сделать показ даты и времени в более формализованном формате типа "25.03.2015 23:11" ?
4.Инфопанель по типу расширения "Download panel" была бы очень кстати.

maximus-decim пишет

1.Добавьте, пожалуйста, управление размером иконок загруженных файлов (и скрытием их вообще). Уж больно они большие.

Хм, так ведь очень криво же смотреться будет, а оригинальные иконки можно только 16х16 вытащить (по аналогии с текущим moz-icon://Z:\path\to\file.zip?size=32&state=normal).

maximus-decim пишет

2.Показ полного пути файла во всплывающей подсказке не работает в боковой панели All-in-One Sidebar. Так и должно быть?

Обрабатывается только собственно панель, а в All-in-One Sidebar какой-нибудь about:downloads открывается.

maximus-decim пишет

3.Для загруженных файлов показывается только дата загрузки в не очень удобном виде ("Вчера", "март 25-е"). Можно ли сделать показ даты и времени в более формализованном формате типа "25.03.2015 23:11" ?

Угу, похожее уже просили: https://github.com/Infocatcher/Download … /issues/30
Мне не очень нравится, что там придется подменить всю функцию, формирующую время и даты. :sick:

maximus-decim пишет

4.Инфопанель по типу расширения "Download panel" была бы очень кстати.

Тоже уже просили: https://github.com/Infocatcher/Download … /issues/14
Несколько выбивается из общей концепции, как по мне, хотя и можно подумать насчет расширенной всплывающей подсказки.

Infocatcher

Хм, так ведь очень криво же смотреться будет, а оригинальные иконки можно только 16х16 вытащить

Да нормально смотрятся, мне 16х16 мелковато показалось, но всяко лучше чем оригинальные 32х32. (по крайней мере с Classic Theme Restorer)

Обрабатывается только собственно панель, а в All-in-One Sidebar какой-нибудь about:downloads открывается.

Так на внешний вид панели загрузок в All-in-One Sidebar и в библиотеке настройки Download Panel Tweake влияют. Я думал и на поведение тоже.

можно подумать насчет расширенной всплывающей подсказки.

Тоже вариант. Но панель внизу (как в  "Download panel" ) мне кажется удобнее: нагляднее, удобно копировать ссылки или переходить по ним (но это только мое IMHO).

Удалением browser.download.useToolkitUI и всего что с этим связано столько полезного сломали. :(

maximus-decim пишет

Так на внешний вид панели загрузок в All-in-One Sidebar и в библиотеке настройки Download Panel Tweake влияют. Я думал и на поведение тоже.

Внешний вид правится стилями, браузер их сам цепляет к about:downloads. А тут, чтобы меньше ломать оригинального, напрямую список в панели обрабатывается.

Download Panel Tweaker 0.2.4: https://addons.mozilla.org/firefox/addon/download-panel-tweaker/versions/0.2.4

Обновил FF с 24.5esr на 31.6esr. DPT держал для классического вида панели скачивания, а после обновления она стала открываться в библиотеке, и без кнопок пауза и т.д. Впечатление что DPT вообще не действует, и в его настройках теперь нет опции классического вида панели. Объясните пожалуйста как вернуть классический вид панели с кнопками.

rsuan
Это была встроенная настройка browser.download.useToolkitUI, ее удалили в Firefox 26, так что пришлось скрывать эту галочку в новых версиях.
Можно попробовать Downloads Window или еще какое-нибудь расширение подыскать.

В библиотеке и на панели загрузок дата отображается крякозябрами.
Не подскажете решение?

SerDjj
Надо проверить, что выставлено в операционной системе насчет языка и региональных стандартов – должно оттуда брать.

Спасибо!

Перестало работать.
Удалять загрузки из панели по клику средней кнопкой мыши.

Download Panel Tweaker 0.2.5: https://addons.mozilla.org/firefox/addon/download-panel-tweaker/versions/0.2.5

Doe John™ пишет

Перестало работать.
Удалять загрузки из панели по клику средней кнопкой мыши.

Угу, изменения из тестовых версий слишком быстро прилетают в релиз... в новой версии должно работать.

Infocatcher
Спасибо.

Всем доброго времени суток.
Достаточно долго пользуюсь приложением.
Все нравится за исключением одного досадного бага - анимации "Загрузка завершена", которая почему-то появлялась каждый раз при запуске браузера.
Вот недавно решил подробнее исследовать это поведение.
Выявил, что анимация появляется при установке чекбокса "Не удалять завершенные загрузки".
Ранее в теме предлагали отключить анимацию на уровне браузера (browser.download.animateNotifications), что теоретически исправляет баг.
Но всё же рискну возразить, что это не совсем подходящее решение.

Можно ли ожидать от автора расширения фикса, который бы позволил полноценно юзать "Не удалять завершенные загрузки" одновременно с анимацией?
Заранее благодарен за ответ.

Acid Crash пишет

Можно ли ожидать от автора расширения фикса, который бы позволил полноценно юзать "Не удалять завершенные загрузки" одновременно с анимацией?

Да как бы и можно, и не понятно, когда. Исправить хочу. Но родная панель загрузок содержит запутанный и избыточный код, который постоянно меняется от версии к версии. Плюс там предусмотрена фильтрация при сохранении, что как раз позволяет хранить завершенные загрузки, но весь остальной код ничего такого не учитывает, а добавление загрузки что при восстановлении, что при реальном добавлении изнутри выглядит одинаково.
Хотя, конечно, можно пойти на компромисс и при запуске временно выключать browser.download.animateNotifications, а через секунду-другую включать обратно.

Infocatcher пишет

Хотя, конечно, можно пойти на компромисс и при запуске временно выключать browser.download.animateNotifications, а через секунду-другую включать обратно.

Таки компромисс:). В теории выглядит дельно, может и действительно реализовать как временное решение...

Опять перестало работать.
Удалять загрузки из панели по клику средней кнопкой мыши.

Doe John™ пишет

Опять перестало работать.
Удалять загрузки из панели по клику средней кнопкой мыши.

В Firefox 50?
Если там не наворотили нового, то уже исправлено в разрабатываемой версии:
https://github.com/Infocatcher/Download … a86c18fc32

Вот тестовая версия (но она без цифровой подписи):
download_panel_tweaker-0.2.6pre-fx.xpi (исходный код)

28-09-2016 21:47:22

Acid Crash пишет
Infocatcher пишет

Хотя, конечно, можно пойти на компромисс и при запуске временно выключать browser.download.animateNotifications, а через секунду-другую включать обратно.

Таки компромисс:). В теории выглядит дельно, может и действительно реализовать как временное решение...

Добавил в тестовой настройку extensions.downloadPanelTweaker.suppressDownloadsNotificationsAtStartup
Пришлось до 15 секунд докрутить (там время в миллисекундах задается)...

Infocatcher пишет

В Firefox 50?

Да

28-09-2016 22:17:09

Infocatcher пишет

Вот тестовая версия (но она без цифровой подписи):

Подожду релизную версию.

Download Panel Tweaker 0.2.6: https://addons.mozilla.org/firefox/addon/download-panel-tweaker/versions/0.2.6

Infocatcher
Как насчёт чьтоб добавить кнопку повторно загрузить ?
А так же заменить кнопки на цветные и красивые ?

Kero пишет

Как насчёт чьтоб добавить кнопку повторно загрузить ?

Панель так сделана, что одновременно можно вывести только одну кнопку, а масштабные изменения трудно поддерживать.
А вот пункт контекстного меню – можно подумать...

Kero пишет

А так же заменить кнопки на цветные и красивые ?

Это надо три иконки в четырех состояниях для текущих версий:
chrome://browser/skin/downloads/buttons.png
И векторные для новых:
chrome://browser/skin/panel-icons.svg
В принципе, это все меняется через userChrome.css/Stylish – были бы иконки.

Infocatcher
такой может, есть дизайны, это из старых дефолтных
thumb.png
или надо точную раскадровку как в оригинале ?

Это надо три иконки в четырех состояниях для текущих версий:

а что расширение должно объязательно точно быть зависемым от маразмов мозилы ?
Не лучше ли иметь собственный набор кнопок и не зависить, ведь онож вроде никак не должно влиять на совместимость ?

имхо пускай оригинальные кнопки svg остаются для любителей вин10

понятно.

Kero пишет

а что расширение должно объязательно точно быть зависемым от маразмов мозилы ?
Не лучше ли иметь собственный набор кнопок и не зависить, ведь онож вроде никак не должно влиять на совместимость ?

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

А в старом наборе отсутствуют некоторые иконки, которые есть в новых наборах.

Firefox 49:
chrome://browser/skin/downloads/buttons.png
4aengep.png

Firefox 53.0a1:
chrome://browser/skin/panel-icons.svg#cancel

Выделить код

Код:

<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
  <style>
    path:not(:target) {
      display: none;
    }
  </style>
  <path id="cancel" d="m 6,9.5 6.5,6.5 -6.5,6.5 3.5,3.5 6.5,-6.5 6.5,6.5 3.5,-3.5 -6.5,-6.5 6.5,-6.5 -3.5,-3.5 -6.5,6.5 -6.5,-6.5 z"/>
  <path id="folder" d="M17.3,9.4c0,0,1.1,0,3.7,0c1.7,0,2,0,5.6,0c0.6,0,0.6,0,1.1,0V9.2c0-1.5-0.9-2.6-2-2.6h-5.8V6.3c0-0.6-1.5-2-2.8-2h-7.1 H7.6H4.9v2.4v2.4v2.2c2.8,0,8.5,0,8.5,0C16.4,11.3,17.3,9.4,17.3,9.4z M29,13c0-0.6-0.6-1.1-1.5-1.7l0,0c-0.2,0-0.6,0-0.9,0 c-2.8,0-3,0-4.8,0c-1.9,0-3.3,0-3.3,0s-1.5,2.4-3.7,2.4c0,0-6.5,0-9.1,0H5.4C3,13.7,3,15.9,3,15.9l1.1,9.7C4.1,27.1,5,28,6.5,28 h19.1c1.5,0,2.4-0.9,2.4-2.4L29,13.7l0,0l0,0C29,13.7,29,13,29,13z"/>
  <path id="magnifier" d="M12.9,2c6,0,11,5,11,11c0,2.2-0.6,4.2-1.8,6l7.2,7c0.8,0.8,0.8,2.4,0,3.2c-0.6,0.6-1.2,0.8-1.6,0.8s-1.2-0.2-1.6-0.6l-7-7 c-1.8,1.2-3.8,1.8-6,1.8c-6,0-11-5-11-11C2.1,7.2,6.9,2,12.9,2z M12.9,20c3.8,0,7-3.2,7-7s-3.2-7-7-7s-7,3.2-7,7S9.1,20,12.9,20z"/>
  <path id="retry" d="M28,16.5v-14l-5,4.8c-1.8-1.4-4.4-2.4-7-2.4c-6.4,0-11.8,5.2-11.8,11.8c0,6.4,5.2,11.8,11.8,11.8c3.4,0,6.2-1.4,8.2-3.6 l-3.4-3.4c-1.2,1.2-3,1.8-5,1.8c-3.6,0.2-6.8-2.8-6.8-6.8c0-3.8,3-7.2,7-7.2c1.4,0,2.6,0.4,3.6,1l-6,6.2H28z"/>
  <path id="arrow-left" d="M23.5,25l-9-9l9-9l-3-3l-12,12l12,12L23.5,25z"/>
  <path id="arrow-right" d="M11.6,28l12-12l-12-12l-3,3l9,9l-9,9L11.6,28z"/>
</svg>

А вот, например, Firefox 17:
chrome://browser/skin/downloads/buttons.png
50wNRtY.png
А вот из той же версии для старого окна загрузок:
chrome://mozapps/skin/downloads/downloadButtons.png
zO6rh4i.png
И уже нет иконки для «открыть» в том же стиле.

Infocatcher
если будете вдруг делать, то магу сделать точную копию раскадровки 4aengep.png с другими изабражениями (не svg) .

Infocatcher пишет

Firefox 53.0a1:
chrome://browser/skin/panel-icons.svg#cancel

что в 53 вобще убрали png , оставили только svg ?

Kero
Если сохранить раскадровку (и не трогать пока тестовые версии), то меняется очень просто (по аналогии с chrome://browser/skin/downloads/downloads.css):

Выделить код

Код:

.downloadButton {
  list-style-image: url("тут data:… или относительный путь") !important;
}

через тот же userChrome.css

А вот для полной замены придется повторить логику:

скрытый текст

Выделить код

Код:

/*** Button icons ***/

.downloadButton.downloadIconCancel {
  -moz-image-region: rect(0px, 16px, 16px, 0px);
}
richlistitem[type="download"]:hover .downloadButton.downloadIconCancel {
  -moz-image-region: rect(0px, 32px, 16px, 16px);
}
richlistitem[type="download"]:hover .downloadButton.downloadIconCancel:hover {
  -moz-image-region: rect(0px, 48px, 16px, 32px);
}
richlistitem[type="download"]:hover .downloadButton.downloadIconCancel:active {
  -moz-image-region: rect(0px, 64px, 16px, 48px);
}

.downloadButton.downloadIconShow {
  -moz-image-region: rect(16px, 16px, 32px, 0px);
}
richlistitem[type="download"]:hover .downloadButton.downloadIconShow {
  -moz-image-region: rect(16px, 32px, 32px, 16px);
}
richlistitem[type="download"]:hover .downloadButton.downloadIconShow:hover {
  -moz-image-region: rect(16px, 48px, 32px, 32px);
}
richlistitem[type="download"]:hover .downloadButton.downloadIconShow:active {
  -moz-image-region: rect(16px, 64px, 32px, 48px);
}
@media (-moz-os-version: windows-xp) {
  #downloadsPanel[keyfocus] richlistitem[type="download"][state="1"]:hover .downloadButton.downloadIconShow {
    -moz-image-region: rect(16px, 32px, 32px, 16px);
  }
  #downloadsPanel[keyfocus] richlistitem[type="download"][state="1"]:hover .downloadButton.downloadIconShow:hover {
    -moz-image-region: rect(16px, 48px, 32px, 32px);
  }
  #downloadsPanel[keyfocus] richlistitem[type="download"][state="1"]:hover .downloadButton.downloadIconShow:active {
    -moz-image-region: rect(16px, 64px, 32px, 48px);
  }
  #downloadsPanel:not([keyfocus]) richlistitem[type="download"][state="1"]:hover .downloadButton.downloadIconShow {
    -moz-image-region: rect(16px, 96px, 32px, 80px);
  }
  #downloadsPanel:not([keyfocus]) richlistitem[type="download"][state="1"]:hover .downloadButton.downloadIconShow:hover {
    -moz-image-region: rect(16px, 112px, 32px, 96px);
  }
  #downloadsPanel:not([keyfocus]) richlistitem[type="download"][state="1"]:hover .downloadButton.downloadIconShow:active {
    -moz-image-region: rect(16px, 128px, 32px, 112px);
  }
}

.downloadButton.downloadIconRetry {
  -moz-image-region: rect(32px, 16px, 48px, 0px);
}
richlistitem[type="download"]:hover .downloadButton.downloadIconRetry {
  -moz-image-region: rect(32px, 32px, 48px, 16px);
}
richlistitem[type="download"]:hover .downloadButton.downloadIconRetry:hover {
  -moz-image-region: rect(32px, 48px, 48px, 32px);
}
richlistitem[type="download"]:hover .downloadButton.downloadIconRetry:active {
  -moz-image-region: rect(32px, 64px, 48px, 48px);
}

.downloadButton.downloadShowBlockedInfo {
  -moz-image-region: rect(48px, 16px, 64px, 0px);
}
richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo {
  -moz-image-region: rect(48px, 32px, 64px, 16px);
}
richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:hover {
  -moz-image-region: rect(48px, 48px, 64px, 32px);
}
richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:active {
  -moz-image-region: rect(48px, 64px, 64px, 48px);
}

.downloadButton.downloadShowBlockedInfo:-moz-locale-dir(rtl) {
  -moz-image-region: rect(64px, 16px, 80px, 0px);
}
richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:-moz-locale-dir(rtl) {
  -moz-image-region: rect(64px, 32px, 80px, 16px);
}
richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:hover:-moz-locale-dir(rtl) {
  -moz-image-region: rect(64px, 48px, 80px, 32px);
}
richlistitem[type="download"]:hover .downloadButton.downloadShowBlockedInfo:active:-moz-locale-dir(rtl) {
  -moz-image-region: rect(64px, 64px, 80px, 48px);
}


Соответственно, для подмены отдельных SVG-иконок тоже придется повторить нечто вроде.

Kero пишет

что в 53 вобще убрали png , оставили только svg ?

Да, там уже только SVG.
Проще заменять, уже меньше:

Выделить код

Код:

/*** Button icons ***/

.downloadIconCancel > .button-box > .button-icon {
  list-style-image: url("chrome://browser/skin/panel-icons.svg#cancel");
}

.downloadIconShow > .button-box > .button-icon {
  list-style-image: url("chrome://browser/skin/panel-icons.svg#folder");
}

.downloadIconRetry > .button-box > .button-icon {
  list-style-image: url("chrome://browser/skin/panel-icons.svg#retry");
}

.downloadShowBlockedInfo > .button-box > .button-icon {
  list-style-image: url("chrome://browser/skin/panel-icons.svg#arrow-right");
}

.downloadShowBlockedInfo > .button-box > .button-icon:-moz-locale-dir(rtl) {
  list-style-image: url("chrome://browser/skin/panel-icons.svg#arrow-left");
}

Но дальше поверх идут эффекты фильтрами...

Но для начала все равно нужна замена вот такому набору:
4aengep.png

После обновления до 51.0.1 окно загрузки стало отображаться таким образом: 

802667_777.jpg

Можно-ли это исправить?

restet
На скриншоте указан адрес окна другого расширения.

Infocatcher действительно...названия похожи.

WebExtension версия будет?

Doe John™ пишет

WebExtension версия будет?

Маловероятно... :( Без API со стороны браузера невозможно вклиниться в интерфейс, а API ради одного расширения вряд ли добавят.
Однако, userChrome.css пока не выкорчевывают – компактность все еще можно будет реализовать.

Infocatcher
А есть готовый стиль для компактности? У Aris-t2/CustomCSSforFx в ничего нету. Если готовый есть, то поделитесь, если нет, то из-за меня одного не надо делать.

momo2000 пишет

А есть готовый стиль для компактности?

Стили-то есть, но вот рабочие ли - не проверял, хотя самому интересно:

compactDownloads.css
compactDownloadsForce.css

Viatcheslav пишет

Стили-то есть, но вот рабочие ли - не проверял, хотя самому интересно:

compactDownloads.css
compactDownloadsForce.css

В самом расширении более новые, но уже нужна обвязка или ручное редактирование:
Download_Panel_Tweaker/compactDownloads.css
Download_Panel_Tweaker/compactDownloadsForce.css

За [downloadPanelTweaker_newList] отвечает код из расширения, так что все «[downloadPanelTweaker_newList]» надо удалять вручную.

Всё работает! Что старые, что новые из расширеня, что с [downloadPanelTweaker_newList], что с  удалением [downloadPanelTweaker_newList].:cool:

Infocatcher пишет

все «[downloadPanelTweaker_newList]» надо удалять вручную

А если не удалять - чем чревато? Подключал оба стиля - compact и compactForce, которые более новые, без всякого редактирования, внешне как будто бы всё нормально

Viatcheslav пишет
Infocatcher пишет

все «[downloadPanelTweaker_newList]» надо удалять вручную

А если не удалять - чем чревато?

Если не удалять, не применятся стили, которые были нужны для Firefox 52+. Другое дело, что если они больше не нужны – то и ладно.

Viatcheslav пишет

Подключал оба стиля - compact и compactForce, которые более новые, без всякого редактирования, внешне как будто бы всё нормально

Даже удивительно... :D

У меня не получается сделать эти 2 панели одного размера.
Верхняя panel-view-body-unscrollable больше чем она есть можно сделать, а меньше, как нижняя downloadsPanelFooterButton нет. В чем проблема?

04300b05bce5e68ae309f4cf47214cdc.jpg

    .panel-view-body-unscrollable {
        min-height: 36px !important;
    }
    .downloadsPanelFooterButton {
        min-height: 36px !important;
    }

Действительно, старые коды прекрасно работают, высокая благодарность за труд.

momo2000 пишет

У меня не получается сделать эти 2 панели одного размера.
Верхняя panel-view-body-unscrollable больше чем она есть можно сделать, а меньше, как нижняя downloadsPanelFooterButton нет. В чем проблема?

Во встроенных стилях есть вот такое:

Выделить код

Код:

#emptyDownloads {
  padding: 16px 25px;
}

Надо уменьшить этот padding.

Infocatcher пишет

Во встроенных стилях есть вот такое

Что за встроенные стили? В стилях compactDownloads.css и compactDownloadsForce.css нет такого кода :blush:

Viatcheslav пишет

Что за встроенные стили?

Встроенные в браузер.