Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№150131-03-2015 18:23:42

maxim puiu
 
Группа: Guest
UA: Firefox 36.0

Re: Stylish

turbot вообще-то я не использовал кнопку :/ сustom buttons не юзаю категорически. у меня по дефолту этот баг. посему прошу помочь в разрешении

Отредактировано maxim puiu (31-03-2015 18:26:13)

 

№150231-03-2015 18:52:59

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 40.0

Re: Stylish

maxim puiu
Это какой-то баг фф. У меня тоже многие стили, панели (а то и само окно браузера), перекашивает.

Отсутствует

 

№150331-03-2015 19:45:26

maxim puiu
 
Группа: Guest
UA: Firefox 36.0

Re: Stylish

turbot

этот баг присутствует и на "чистом" профиле. куда писать багрепорт?
2164c2f1a1626bfc41f55b3f908fcf27.png

Отредактировано maxim puiu (31-03-2015 19:46:09)

 

№150431-03-2015 19:59:33

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 40.0

Re: Stylish

https://bugzilla.mozilla.org/
Беглым поиском не нашел ничего похожего, дерзайте.

Добавлено 31-03-2015 20:05:28
Вру, вот.
Хотят решить баг радикально: не запускать, после рестарта, в полном экране. :D

А, не, не дочитал до конца: предлагают с задержкой переходить в полный экран, после запуска. И я о том же. :)

Отредактировано turbot (31-03-2015 20:29:00)

Отсутствует

 

№150531-03-2015 21:01:29

routir
Участник
 
Группа: Members
Зарегистрирован: 14-01-2014
Сообщений: 150
UA: Safari 4.0

Re: Stylish

turbot
Как сделать, чтобы при прикреплении вкладки она не уезжала влево, а оставалась на текущей позиции?

Отсутствует

 

№150631-03-2015 22:04:33

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 40.0

Re: Stylish

Стилями - никак. А кнопкой - даже не представляю как.
Да и "на текущей" - это где? А если у вас сотня вкладок была открыта? И одну, где-нибудь в конце прокрутки, закрепили, то что, после закрытия остальных она будет висеть где-то за пределами видимости? По-моему - глупо.

Отсутствует

 

№150731-03-2015 22:22:46

routir
Участник
 
Группа: Members
Зарегистрирован: 14-01-2014
Сообщений: 150
UA: Safari 4.0

Re: Stylish

turbot
У меня несколько сайтов, из которых постоянно открываю новые вкладки, а потом жестами смахиваю просмотренное и возвращаюсь на исходные позиции, а чтобы случайно не закрыть ''источники''(должны быть постоянно на виду), я на них наложил защиту TMP, так вот хотелось бы отключить дополнение и тупо прикреплять вкладки в текущих позициях.

Нужно задействовать команду вроде pin.tab.in.current.position !important
Может в about:config написать?

Отсутствует

 

№150831-03-2015 23:29:44

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 40.0

Re: Stylish

routir

routir пишет

pin.tab.in.current.position !important

Это невозможно сделать стилями, в принципе. CSS - это не язык программирования. Хоть сотню импортантов напишите. :)
С помощью custom buttons, вероятно, можно. Но я даже представить не могу - как. Пишите в соответствующую тему, может кто и снизойдет, хоть задача, явно, и нетривиальная.

Отсутствует

 

№150905-04-2015 12:23:21

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 40.0

Re: Stylish

Link style and color protection перестал в [nightly] работать, как поправить?

Отсутствует

 

№151005-04-2015 12:29:38

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 40.0

Re: Stylish

Убрать префикс -moz у text-decoration-color. Может еще /*AGENT_SHEET*/ в начале стиля поставить придется.

Отсутствует

 

№151105-04-2015 12:43:38

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 40.0

Re: Stylish

turbot
Спасибо, работает.
ПС И у text-decoration-style, если кто ещё будет править.

Отсутствует

 

№151208-04-2015 01:34:41

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 40.0

Re: Stylish

Dеnis
Средствами css подобное можно будет реализовать лишь в неопределенном будущем, с css4. Могу предложить такой вариант.

Отсутствует

 

№151308-04-2015 13:03:39

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 40.0

Re: Stylish

Dumby
Ещё один баг отловился. Если воспользоваться поиском в закладках, то снова появляются вот эти временные закладки при добавление через звёздочку. Ну и естественно очередная просьба, если можно подправить. :)

Отсутствует

 

№151408-04-2015 22:12:35

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 40.0

Re: Stylish

Dumby пишет

добавлятьвкладкам атрибут inbookmarks ? Я тут попробовал

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

Выделить код

Код:

({
    style: `
        @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
        .tabbrowser-tab[inbookmarks] .tab-text.tab-label {
            background-color: pink !important;
        }
    `.trim(),
    addProcessingInstruction: function(add) {
        if (add) {
            this.pi = document.createProcessingInstruction("xml-stylesheet",
                `type="text/css" href="data:text/css,${encodeURIComponent(this.style)}"`
            );
            document.insertBefore(this.pi, document.firstChild);
        } else
            this.pi.remove();
    },
    init: function() {
        this.addProcessingInstruction(true);
        this.setAttributeForAllTabs(true);
        gBrowser.addTabsProgressListener(this);
        PlacesUtils.addLazyBookmarkObserver(this);

        addDestructor(this.destroy, this);
    },
    destroy: function() {
        this.addProcessingInstruction(false);
        this.setAttributeForAllTabs(false);
        gBrowser.removeTabsProgressListener(this);
        PlacesUtils.removeLazyBookmarkObserver(this);
    },
    isBookmarked: uri => Boolean(PlacesUtils.getBookmarksForURI(uri).length),
    onItemAdded: function(id, parent, ind, type, uri) this.onItem(type, uri),
    onItemRemoved: function(id, parent, ind, type, uri) this.onItem(type, uri),
    onItemChanged: function(id, property, isAnno, value, lm, type)
        property == "uri" && this.onItem(type),

    onItem: function(type, uri) {
        type == Ci.nsINavBookmarksService.TYPE_BOOKMARK
        && this.setAttributeForAllTabs(true, uri);
    },
    onLocationChange: function(browser, wp, req, uri) {
        var tab = gBrowser.getTabForBrowser(browser);
        this.setAttributeForTab(tab, this.isBookmarked(uri));
    },
    setAttributeForAllTabs: function(set, uri) {
        for(var tab of gBrowser.tabs) {
            var curr = tab.linkedBrowser.currentURI;
            if (uri && !uri.equals(curr)) continue;
            var state = set && this.isBookmarked(curr);
            this.setAttributeForTab(tab, state);
        }
    },
    setAttributeForTab: function(tab, set) {
        set ? tab.setAttribute("inbookmarks", true) : tab.removeAttribute("inbookmarks");
    }
}).init();

Хороший замысел, но у меня не работает. При добавлении любой страницы в закладки (независимо есть эта страница в закладках или нет) цвет фона закладки изменяется .

Отредактировано lokiju (08-04-2015 22:14:03)

Отсутствует

 

№151515-04-2015 01:07:36

Kero
Участник
 
Группа: Members
Зарегистрирован: 09-11-2012
Сообщений: 221
UA: Firefox 31.0

Re: Stylish

А можно как то сделать один стиль для всех страниц который бы открывал спойлеры при отключённых скриптах ?

Отсутствует

 

№151615-04-2015 06:32:22

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 31.0

Re: Stylish

voqabuhe пишет

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

Да, есть такое. Вот так, вроде, получше.

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

Выделить код

Код:

(() => {
    function clean(view) {
        view._rows.some((candidate, ind) => {
            for(var node = candidate; node != view._rootNode; node = node.parent) {
                if (node.parent == view._rootNode && (
                    node.itemId == PlacesUIUtils.leftPaneQueries.BookmarksMenu ||
                    node.itemId == PlacesUIUtils.leftPaneQueries.UnfiledBookmarks
                )) {
                    var parent = candidate.parent;
                    try {view.nodeRemoved(parent, candidate, ind);}
                    catch(ex) {
                        view._rows.splice(ind, 1, parent);
                        view.nodeRemoved(parent.parent, parent, ind);
                    }
                    clean(view); return true;
                }
            }
        });
    }
    function change(view) {
        var nodeInserted = view.nodeInserted;
        view.nodeInserted = function PTV_nodeInserted(aParentNode, aNode, aNewIndex) {
            PTV_nodeInserted.nodeInserted.apply(this, arguments);
            PTV_nodeInserted.clean(this);
        }
        view.nodeInserted.nodeInserted = nodeInserted;
        view.nodeInserted.clean = clean;
    }
    function pageshow(e) {
        if (e.target.location.href != "chrome://browser/content/bookmarks/bookmarksPanel.xul") return;
        var tree = e.target.getElementById("bookmarks-view");
        change(tree.view); clean(tree.view);

        var getter = tree.__lookupGetter__("view");
        var setter = tree.__lookupSetter__("view");
        Object.defineProperty(tree, "view", {
            enumerable: true, configurable: true,
            get: function() getter.call(this),
            set(val) {
                setter.call(this, val);
                if (val) {change(val); clean(val);}
            }
        });
    }
    pageshow({target: SidebarUI.browser.contentDocument});
    addEventListener("pageshow", pageshow, false, SidebarUI.browser);
})();

lokiju пишет

При добавлении любой страницы в закладки (независимо есть эта страница в закладках или нет) цвет фона закладки изменяется .

Несколько раз перечитал, но понять не смог.

Задумано так: если текущая страница вкладки есть в закладках,
то вкладка должна иметь атрибут «inbookmarks». И наоборот.

Отсутствует

 

№151715-04-2015 13:00:52

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 40.0

Re: Stylish

Dumby пишет

Вот так, вроде, получше.

Да так уже вроде ничего больше не возникает, тьфу три раза.:) Спасибо большое.
И пользуясь случаем, есть просьба, если я с ними тебе не шибко ещё надоел. :)
После полумесячного использования вот этой замечательной кнопочки, понял что ещё не хватает информации о количестве одинаковых закладок.
1XmlVWj.png
Можно эту цифру вывести на вкладку, когда есть одинаковые закладки, ну т.е. чтобы отображение шло если есть две и более одинаковых закладок?

Отредактировано voqabuhe (15-04-2015 21:29:45)

Отсутствует

 

№151815-04-2015 20:17:26

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 40.0

Re: Stylish

Dumby,
сегодняшнего обновления [nightly] заработало как задумано. Спасибо.

Отсутствует

 

№151916-04-2015 12:28:03

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 31.0

Re: Stylish

voqabuhe пишет

Можно эту цифру вывести на вкладку, когда есть одинаковые закладки, ну т.е. чтобы отображение шло если есть две и более одинаковых закладок?

Попробовать, конечно, могу, но ...

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

Выделить код

Код:

setTimeout(obj => obj.init(), 1000, {
    style: `
        @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
        tab.tabbrowser-tab[inbookmarks] .tab-text.tab-label {
            background-color: pink;
        }
        tab.tabbrowser-tab[inbookmarks] label.inbookmarks-counter {
            padding: 0 2px;
            margin: 0 2px 0 -4px;
            color: white;
            font-weight: bold;
            border: 1px solid white;
            background-color: blue;
        }

    `.trim().replace(/;/g, " !important;"),

    addProcessingInstruction: function(add) {
        if (add) {
            this.pi = document.createProcessingInstruction("xml-stylesheet",
                `type="text/css" href="data:text/css,${encodeURIComponent(this.style)}"`
            );
            document.insertBefore(this.pi, document.firstChild);
        } else
            this.pi.remove();
    },
    init: function() {
        this.addProcessingInstruction(true);
        this.setAttributeForAllTabs(true);
        gBrowser.addTabsProgressListener(this);
        PlacesUtils.addLazyBookmarkObserver(this);

        addEventListener("TabMove", this, false, gBrowser.tabContainer);
        addDestructor(this.destroy, this);
    },
    destroy: function() {
        this.addProcessingInstruction(false);
        this.setAttributeForAllTabs(false);
        gBrowser.removeTabsProgressListener(this);
        PlacesUtils.removeLazyBookmarkObserver(this);
    },
    handleEvent: function(e) this.updateInbookmarksCounter(e.target),

    getBookmarksCount: uri => PlacesUtils.getBookmarksForURI(uri).length,
    onItemAdded: function(id, parent, ind, type, uri) this.onItem(type, uri),
    onItemRemoved: function(id, parent, ind, type, uri) this.onItem(type, uri),
    onItemChanged: function(id, property, isAnno, value, lm, type)
        property == "uri" && this.onItem(type),

    onItem: function(type, uri) {
        type == Ci.nsINavBookmarksService.TYPE_BOOKMARK
        && this.setAttributeForAllTabs(true, uri);
    },
    onLocationChange: function(browser, wp, req, uri) {
        var tab = gBrowser.getTabForBrowser(browser);
        this.setInbookmarksCounter(tab, 0);
        this.setAttributeForTab(tab, this.getBookmarksCount(uri));
    },
    setAttributeForAllTabs: function(set, uri) {
        for(var tab of gBrowser.tabs) {
            var curr = tab.linkedBrowser.currentURI;
            if (uri && !uri.equals(curr)) continue;
            var state = set && this.getBookmarksCount(curr);
            this.setAttributeForTab(tab, state);
        }
    },
    setAttributeForTab: function(tab, set) {
        set ? tab.setAttribute("inbookmarks", set) : tab.removeAttribute("inbookmarks");
        this.updateInbookmarksCounter(tab, set);
    },
    updateInbookmarksCounter: function(tab, count)
        setTimeout((tab, count, obj) => obj.setInbookmarksCounter(tab, count), 50, tab, count, this),

    setInbookmarksCounter: function(tab, count = this.getBookmarksCount(tab.linkedBrowser.currentURI)) {
        var lab = document.getAnonymousElementByAttribute(tab, "class", "inbookmarks-counter");
        if (count < 2) lab && lab.remove();
        else {
            if (!lab) {
                var lab = document.createElement("label");
                lab.className = "inbookmarks-counter";
                var before = document.getAnonymousElementByAttribute(tab, "class", "tab-throbber");
                before.parentNode.insertBefore(lab, before);
            }
            lab.value = count;
        }
    }
});

Отсутствует

 

№152016-04-2015 13:11:30

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 40.0

Re: Stylish

Dumby
Спасибо!!! Всё как и хотел, но есть небольшой баг. Если есть одинаковые закладки, то при их открытие  не появляется название вкладки, а остаётся надпись Соединение....
И ещё вопрос. В предыдущей версии кнопки менял background-color: pink; на font-style: italic;
                                                                                                                font-weight: bold !important;
Там это работало, а в этой версии срабатывает только italic. Как теперь выделить жирным?

Отсутствует

 

№152116-04-2015 20:35:54

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 31.0

Re: Stylish

voqabuhe пишет

И ещё вопрос. В предыдущей версии кнопки менял background-color: pink; на font-style: italic;
                                                                                                                font-weight: bold !important;
Там это работало, а в этой версии срабатывает только italic. Как теперь выделить жирным?

В этой версии !important не требуется,
!important добавляется автоматически.

voqabuhe пишет

Если есть одинаковые закладки, то при их открытие  не появляется название вкладки, а остаётся надпись Соединение....

Так и знал, что не получится. Теперь наугад.

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

Выделить код

Код:

setTimeout(obj => obj.init(), 1000, {
    style: `
        @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
        tab.tabbrowser-tab[inbookmarks] .tab-text.tab-label {
            font-style: italic;
            font-weight: bold;
        }
        tab.tabbrowser-tab[inbookmarks] label.inbookmarks-counter {
            padding: 0 2px;
            margin: 0 2px 0 -4px;
            color: white;
            font-weight: bold;
            border: 1px solid white;
            background-color: blue;
        }

    `.trim().replace(/;/g, " !important;").replace(/(@namespace[^;]+) !important;/, "$1;"),

    addProcessingInstruction: function(add) {
        if (add) {
            this.pi = document.createProcessingInstruction("xml-stylesheet",
                `type="text/css" href="data:text/css,${encodeURIComponent(this.style)}"`
            );
            document.insertBefore(this.pi, document.firstChild);
        } else
            this.pi.remove();
    },
    init: function() {
        this.addProcessingInstruction(true);
        this.setAttributeForAllTabs(true);
        gBrowser.addTabsProgressListener(this);
        PlacesUtils.addLazyBookmarkObserver(this);

        addEventListener("TabMove", this, false, gBrowser.tabContainer);
        addDestructor(this.destroy, this);
    },
    destroy: function() {
        this.addProcessingInstruction(false);
        this.setAttributeForAllTabs(false);
        gBrowser.removeTabsProgressListener(this);
        PlacesUtils.removeLazyBookmarkObserver(this);
    },
    handleEvent: function(e) this.updateInbookmarksCounter(e.target),

    getBookmarksCount: uri => PlacesUtils.getBookmarksForURI(uri).length,
    onItemAdded: function(id, parent, ind, type, uri) this.onItem(type, uri),
    onItemRemoved: function(id, parent, ind, type, uri) this.onItem(type, uri),
    onItemChanged: function(id, property, isAnno, value, lm, type)
        property == "uri" && this.onItem(type),

    onItem: function(type, uri) {
        type == Ci.nsINavBookmarksService.TYPE_BOOKMARK
        && this.setAttributeForAllTabs(true, uri);
    },
    onLocationChange: function(browser, wp, req, uri) {
        var tab = gBrowser.getTabForBrowser(browser);
        this.setInbookmarksCounter(tab, 0);
        this.setAttributeForTab(tab, this.getBookmarksCount(uri));
    },
    setAttributeForAllTabs: function(set, uri) {
        for(var tab of gBrowser.tabs) {
            var curr = tab.linkedBrowser.currentURI;
            if (uri && !uri.equals(curr)) continue;
            var state = set && this.getBookmarksCount(curr);
            this.setAttributeForTab(tab, state);
        }
    },
    setAttributeForTab: function(tab, set) {
        set ? tab.setAttribute("inbookmarks", set) : tab.removeAttribute("inbookmarks");
        this.updateInbookmarksCounter(tab, set);
    },
    updateInbookmarksCounter: function(tab, count) {
        var win = tab.linkedBrowser.contentWindow;
        if (win.document.readyState == "loading") {
            var obj = this;
            win.addEventListener("load", function load(e) {
                win.removeEventListener(e.type, load, false);
                obj.setInbookmarksCounter(tab);
            }, false);
        } else { 
            count = count === false ? 0 : undefined;
            setTimeout((tab, obj) => obj.setInbookmarksCounter(tab, count), 50, tab, this);
        }
    },
    setInbookmarksCounter: function(tab, count = this.getBookmarksCount(tab.linkedBrowser.currentURI)) {
        var lab = document.getAnonymousElementByAttribute(tab, "class", "inbookmarks-counter");
        if (count < 2) lab && lab.remove();
        else {
            if (!lab) {
                var lab = document.createElement("label");
                lab.className = "inbookmarks-counter";
                var before = document.getAnonymousElementByAttribute(tab, "class", "tab-throbber");
                before.parentNode.insertBefore(lab, before);
            }
            lab.setAttribute("value", count);
        }
    }
});

Отредактировано Dumby (17-04-2015 23:56:25)

Отсутствует

 

№152216-04-2015 21:36:42

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 40.0

Re: Stylish

Dumby пишет

Теперь наугад.

Спасибо. Теперь название появляется, но нет фавиконки.

Отсутствует

 

№152325-04-2015 21:38:13

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 211
UA: Firefox 37.0

Re: Stylish

Прошу прощения, вернулся с новой к старой версии.
Подскажите, как в stylish изменить высоту панели закладок.

Отредактировано LittleMontana (25-04-2015 22:32:40)

Отсутствует

 

№152426-04-2015 00:56:24

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 37.0

Re: Stylish

LittleMontana

Выделить код

Код:

#PersonalToolbar{
min-height: 30px !important;
max-height: 30px !important;}

Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№152526-04-2015 01:19:53

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 40.0

Re: Stylish

LittleMontana

Или

Выделить код

Код:

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

#personal-bookmarks, #PersonalToolbar {
    min-height: unset!important;
    height: auto!important; /*высота панели закладок будет зависеть от размера шрифта и иконок*/
}
#PersonalToolbar .bookmark-item {
    -moz-appearance: none !important;
    padding: 0 1px!important; /*отступы у закладок*/
}
#PersonalToolbar .bookmark-item > .toolbarbutton-icon {
    width: auto!important;
    height: 12px!important;/*размер иконок*/
    margin: 0 1px 0 0!important; /*отступы у иконок*/
}
#PersonalToolbar .bookmark-item > .toolbarbutton-text{
    font-size: 10px!important; /*размер шрифта*/
    margin: 0!important;
}

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]