Страница 1 из 1

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 20:32
root
Решил я интегрировать в систему Обои LM c 5 по 17.3 версии. Отобрал самые годные (на мой вкус), настроил названия, словом - все по красоте. Есть только одно малюсенькое НО, разрывающее внутреннего "перфекциониста" на части:
1.png
Слева идет список:
13..17.x
18.x
5..12

А хочется по порядку:
5..12
13..17.x
18.x

Вопрос №1: как сделать список в нужном мне порядке?
Вопрос №2: как задать иконку левее названия? Например, раздел "Linux Mint" имеет уникальный значок...

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 21:13
x230
смени 5 - ** на 05 - **

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 21:32
root
x230, действительно :smile:. (хотя версия не называется 05, ну да бог с ним, будем считать, что на 25% вопрос решен, осталось ответить на оставшиеся 75%...)

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 21:40
Chocobo
есть /usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py
Вот тут похоже вычитка пользовательских директорий и присвоение иконок (263-288)

Код: Выделить всё

    def get_user_backgrounds(self):
        self.user_backgrounds = []
        path = os.path.expanduser("~/.cinnamon/backgrounds/user-folders.lst")
        if os.path.exists(path):
            with open(path) as f:
                folders = f.readlines()
            for line in folders:
                folder_path = line.strip("\n")
                folder_name = folder_path.split("/")[-1]
                if folder_path == self.xdg_pictures_directory:
                    icon = "folder-pictures"
                else:
                    icon = "folder"
                self.user_backgrounds.append([False, icon, folder_name, folder_path, BACKGROUND_COLLECTION_TYPE_DIRECTORY])
        else:
            # Add XDG PICTURE DIR
            self.user_backgrounds.append([False, "folder-pictures", self.xdg_pictures_directory.split("/")[-1], self.xdg_pictures_directory, BACKGROUND_COLLECTION_TYPE_DIRECTORY])
            self.update_folder_list()
А тут общесистемные, плюс отделен Linux Mint и присвоен им порядок, правда без типа сортирвки. (290 - 307)

Код: Выделить всё

    def get_system_backgrounds(self):
        picture_list = []
        folder_list = []
        properties_dir = "/usr/share/cinnamon-background-properties"
        backgrounds = []
        if os.path.exists(properties_dir):
            for i in os.listdir(properties_dir):
                if i.endswith(".xml"):
                    xml_path = os.path.join(properties_dir, i)
                    display_name = i.replace(".xml", "").replace("-", " ").replace("_", " ").split(" ")[-1].capitalize()
                    icon = "cs-backgrounds"
                    order = 10
                    # Special case for Linux Mint. We don't want to use 'start-here' here as it wouldn't work depending on the theme.
                    # Also, other distros should get equal treatment. If they define cinnamon-backgrounds and use their own distro name, we should add support for it.
                    if display_name == "Retro":
                        icon = "cs-retro"
                        order = 20 # place retro bgs at the end
                    if display_name == "Linuxmint":
                        display_name = "Linux Mint"
                        icon = "cs-linuxmint"
                        order = 0
                    backgrounds.append([[False, icon, display_name, xml_path, BACKGROUND_COLLECTION_TYPE_XML], display_name, order])
Вообще при посимвольном сравнении - сортировка верная, ибо строковая пятерка больше чем строковая же семнадцать :)
Снимок экрана от 2017-12-10 21-35-30.png
А т.к. исходно девушки у нас именуются по алфавиту, то логично привести туда же их нейминг и тут - и ничего не нарушится в директориях от Elyssa до Silvia :)

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 21:47
root
Chocobo, немного не успел ты, нашел уже сам
ico.png
Однако с порядком непонятки, выставлен 5-й (хотя скорее 6-й), а по факту - 2-й (хотя скорее 1-й).

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 21:49
Chocobo
root писал(а):
10 дек 2017, 21:47
выставлен 5-й (хотя скорее 6-й), а по факту - 2-й (хотя скорее 1-й).
у LinuxMint - order= 0
У этой твоей диры 5
Остальные попадают под 10

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 21:56
root
Chocobo, понял, что не так с порядком. Он указывается корректно, когда мы имеем конкретный список типа 0,1,2,3 и т.д. Если ли же в меню у нас, допустим 10 элементов, которые напрямую не определены в cs_backgrounds.ру, тогда запись для какого-то одного элемента значения большего 1 - некорректно... Здесь порядок, наверное, условный, что-то типо приоритетов.

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 22:02
root
И финальный вопрос: как в этом коде задать линию подчеркивания после Linux Mint 18.x (как перед Изображениями)?
ico 3.png

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 22:03
Chocobo
root писал(а):
10 дек 2017, 21:56
Если ли же в меню у нас, допустим 10 элементов, которые напрямую не определены в cs_backgrounds.ру
Они попадут под общее правило описанное в блоке с order=10, а меж собой уже будут сортироваться 0-9..A-Z..А-Я

Ну и не забывай, что правки в /usr/share - до очередного обновления cinnamon-common, и затрутся все чудеса :smile:

Фоновые рисунки в Cinnamon

Добавлено: 10 дек 2017, 22:11
root
Chocobo, возможно, но данные изменения попадут в мою будущую сборку. Причем не просто попадут, а с помощью пока еще не написанного (лол) скрипта, который выставит для всех копируемых измененных вручную файлов/папок нужные права (имею папку с чисто моими изменениями типа */ (че-то там+корень)... Подводя итог: даже если что-то и затрется в уже установленной системе, то я просто 1 скриптом под названием "на все случаи жизни" все восстановлю. Так что за обслуживание не беспокойся)

Фоновые рисунки в Cinnamon

Добавлено: 11 дек 2017, 11:04
VOVA_N
Chocobo писал(а):
10 дек 2017, 22:03
root писал(а):
10 дек 2017, 21:56
Если ли же в меню у нас, допустим 10 элементов, которые напрямую не определены в cs_backgrounds.ру
Они попадут под общее правило описанное в блоке с order=10, а меж собой уже будут сортироваться 0-9..A-Z..А-Я

Ну и не забывай, что правки в /usr/share - до очередного обновления cinnamon-common, и затрутся все чудеса :smile:
Доброе утро уважаемый Chocobo. Извините пожалуйста что пишу сюда. Написал вам личное сообщение, ответьте пожалуйста, очень нужна ВАША помощь!!! С уважением.

Фоновые рисунки в Cinnamon

Добавлено: 11 дек 2017, 11:29
Nickolas
К стати, я сейчас на крысе, кто-нибудь может например на яндекс диск скинуть эти три картинки?

Фоновые рисунки в Cinnamon

Добавлено: 11 дек 2017, 14:03
Chocobo
Nickolas, так пойдут? :)
sele_linuxmint.png
edesigner_linuxmint.png
default_background.jpg

Фоновые рисунки в Cinnamon

Добавлено: 11 дек 2017, 14:05
Nickolas
Chocobo, супер, спасибо..! А то не охота корицу ставить из-за этого..)))

Фоновые рисунки в Cinnamon

Добавлено: 11 дек 2017, 14:11
Chocobo
Nickolas, Да не за что, забирай :) Только вот и в крыске они должны быть на месте изначально :scratch:
Снимок экрана от 2017-12-11 14-10-31.png

Фоновые рисунки в Cinnamon

Добавлено: 11 дек 2017, 14:31
Nickolas
Chocobo, точно, в папке нашел, а вот отображаться не хотят почему-то -

Фоновые рисунки в Cinnamon

Добавлено: 11 дек 2017, 14:35
Nickolas
P.s.
Пришлось носом в папку ткнуть, тогда только увидел...