IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [490]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [449]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [679]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [356]
    Сети, сетевые технологии, оборудование... [269]
    Смартфоны [4966]
    Фотокамеры, объективы, искусство фотографии.. [543]
    Умный дом [47]
    Электронные книги [96]
    CB, LPD, PMR- связь... [169]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1113]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [616]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1339
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Ноябрь » 28 » Elementary OS. Наводим чистоту и порядок в Applications
    07:08
    Elementary OS. Наводим чистоту и порядок в Applications

    Elementary OS. Наводим чистоту и порядок в Applications

    Здравствуйте!

    Когда впервые зашла на хабр, поняла, что я дома. Home, Sweet Home.…
    Всё не решалась написать. Вот, решилась! Пишу. Хорошо иль плохо, но пишу.



    Меня всегда удручал беспорядок в [… всюду, не люблю беспорядок… ] в меню приложений Mandriva, Suse, Ubuntu, Elementary OS (Решила перечислить их в порядке использования. Пишу и ностальгирую). Конечно, ситуация одинакова для поголовного большинства дистрибутивов, так как информацию о том, как и где показывать программу прописывают сами создатели этих программ в *.desktop файлах. И многих из них похоже не волнует тот беспорядок, который происходит от такого халатного отношения к логике построения навигации.

    Решила я это исправить. Давно давно давно, страшно давно. И через время, давно… таки исправила. А вам решила и собралась показать вообще только сейчас.

    Задача: убрать из Applications всё лишнее. При этом не только не потерять в удобстве работы, но и многократно выиграть.

    Разобралась как наипростейшим образом добиться того что мне нужно. А нужен мне порядок в меню и при этом работоспособность всех программ. Разные *.desktop файлы имели различную структуру и порядок строк. Одним словом — никакого порядка. Кто в лес, кто по дрова. Изменять их самой и доводить до совершенства задача неблагодарная. Да, я этим когда-то занималась, ещё была тогда на Ubuntu. Бросила ) Хотя наработки лежат до сих пор и наверное стоит их выложить как есть. Возможно получу поддержку пользователей в своём начинании, а может и раскритикуют меня в пух и прах так, что и забуду про эту свою давнешнюю идеаллистическую затею как страшный сон. Что поделать, надо пробовать.

    Экспериментальным образом поняла что нужно добавлять две строчки

    [Desktop Entry]
    NoDisplay=true
    


    в самое начало каждого *.desktop файла

    Что за *.desktop файлы? — Что-то вроде ярлыков в Windows. Находятся в /usr/share/applications/

    Написала я несложный bash файл. Визуально разбила его на три части:
     

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



    Вот так например



    Заметка:
    У меня нативный Scratch как редактор не прижился, но я не нашла ничего лучше Scratch для организации TODO lists и всяких notes. Была влюблена когда-то в Tomboy notes, консольный wyrd, затем в Wunderlist. Много чего перепробовала и остановилась сейчас на связке отзывчивого и простого тестового редактора c фиксацией дерева папок (Scratch) и облачного сервиса (Dropbox). Папки, что на снимке в левом сайдбаре, зафиксированы и никуда не деваются при открытии/закрытии редактора. Удобно. Такой функционал обнаружила случайно и полюбила его.
     

    Код bash скрипта для наведения порядка в меню приложений
    
    
    #!/bin/bash
    
    # Just not needed for others to know that i have this in my system. 
    # I always can run them from cli. Вот
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/synaptic.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/synaptic.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/teamviewer-teamviewer9.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/teamviewer-teamviewer9.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/bleachbit.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/bleachbit.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/bleachbit-root.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/bleachbit-root.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/virtualbox.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/virtualbox.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/wireshark.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/wireshark.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/umit.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/umit.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/bum.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/bum.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/gparted.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/gparted.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/guake.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/guake.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/luakit.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/luakit.desktop
    
    
    
    # Rubbish. То, что не запускаем отдельно, 
    # а открывается автоматически при открытии соответствующего файла,
    # основываясь на file associations 
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/dropbox.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/dropbox.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/AdobeAIR.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/AdobeAIR.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/file-roller.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/file-roller.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/caffeine-preferences.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/caffeine-preferences.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/evince.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/evince.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/gdebi.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/gdebi.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/gthumb.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/gthumb.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/update-manager.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/update-manager.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/vlc.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/vlc.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/pantheon-terminal.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/pantheon-terminal.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/noise.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/noise.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/libreoffice4.3-base.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/libreoffice4.3-base.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/libreoffice4.3-calc.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/libreoffice4.3-calc.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/libreoffice4.3-math.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/libreoffice4.3-math.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/libreoffice4.3-draw.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/libreoffice4.3-draw.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/libreoffice4.3-impress.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/libreoffice4.3-impress.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/libreoffice4.3-writer.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/libreoffice4.3-writer.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/ibus-setup.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/ibus-setup.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/empathy.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/empathy.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/totem.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/totem.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/gxneur.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/gxneur.desktop
    
    
    
    # Скрыла, потому что эти приложения доступны из контекстного меню. 
    # Посчитала излишним дублировать их в меню. Время покажет права ли я.
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/scratch-text-editor.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/scratch-text-editor.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/scribes.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/scribes.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/sublime_text.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/sublime_text.desktop
    
    sudo sed -i '1iNoDisplay=true' /usr/share/applications/atom.desktop
    sudo sed -i '1i[Desktop Entry]' /usr/share/applications/atom.desktop
    
    
    #Пример как удалить ошибочную строку после batch edit. Экранируем спецсимволы и ставим параметр 'd'
    #sudo sed -i '/\[Desktop Entry\] NoDisplay=true/d' /usr/share/applications/synaptic.desktop
    
    
    


    Из всех иконок либреофиса оставила лишь одну — центральную.

    Сохраняйте и запускайте.

    chmod u+x Beautify_menu
    sh Beautify_menu
    



    Одно лишь неудобство. Скрипт необходимо перезапускать после обновлений программ. Так как они стирают старый и записывают новый *.desktop файл. Как следствие, наши правки теряются и нужно повторить скрипт. А как быть когда одна программа обновилась, а другие нет. Что тогда? Не переживайте, многократные строки вида

    [Desktop Entry]
    NoDisplay=true
    [Desktop Entry]
    NoDisplay=true
    [Desktop Entry]
    NoDisplay=true
    [Desktop Entry]
    NoDisplay=true
    


    ни на что не влияют.

    Потому скрипт можно запускать бесконечное множество раз.

    На сколько оптимально написан скрипт, оставляю на ваше суждение. Мне лично кажется, что код можно упростить как минимум вдвое. Но как именно, я не знаю. Замучалась экпериментировать и выложила как есть.

    Не запускайте этот скрипт слепо. Подумайте, нужно ли вам то, чего добивалась я. Быть может вас всё устраивает.

    Если вы солидарны с моей точкой зрения про порядок в меню, не забудьте поправить скрипт «под себя». Желаю всем удачи.

    В будущей статье хотела бы познакомить вас со своей консолью и её алиасами. Да много чего лижит в папочке с пометкой «In dev». Мысли мои непоследовательны, знаю.



    Елизавета

    http://habrahabr.ru/post/242751/

    Категория: Linux и не только | Просмотров: 723 | Добавил: laptop | Рейтинг: 4.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024