zepete: (Default)
[personal profile] zepete
В linux меню "пуск" не содержит любимое пользователями windows подменю "недавние документы" принципиально, так как про них ничего ненаписано в freedesktop.org. Так что пользователям linux недоступен запуск редактирования любимого документа в два щелчка и три движения мыши: пуск->недавние документы->любимый документ.
Кроме того, в большинстве случаев редактирование меню пуск по месту неработает. Проверил на KDE, Gnome, LXDE, XFCE, Cinnamon, Mate. Возможно в unbuntu работает, но сомневаюсь.

То есть меню "пуск" в linux застрял на уровне windows 9x. В windows XP "недавние документы" есть. Как я понимаю это из-за идеологических сложностей, согласно которым кнопка "пуск" недолжна знать про редактирование файлов, так как это выполняют другие компоненты:)

Дуг Макилрой, изобретатель каналов UNIX и один из основателей традиции UNIX, обобщил философию следующим образом:

«Философия UNIX гласит:

Пишите программы, которые делают что-то одно и делают это хорошо.
Пишите программы, которые бы работали вместе.
Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс».

Обычно эти высказывания сводятся к одному «Делайте что-то одно, но делайте это хорошо».

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



Так что ожидать того, что linux достигнет уровня windows xp еще долго придется.


Описание меню хранится в каталоге /etc/xdg/menus. Этот каталог содержит файлы вида: "<имя программы управления меню>-applications.menu". Каждый оконный менеджер тут имеет сой файл, которым он будет пользоваться. Файлы с расширением .menu - это xml файлы, довольно длинные, но бестолковые, так в них содержатся только ссылки на другие каталои, в которых краняться ярлыки, которые в свою очередь уже описывают отображение меню.

Выдержка из файла меню cinnamon.


<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">

<Menu>

  <Name>Applications</Name>
  <Directory>cinnamon-menu-applications.directory</Directory>

  <!-- Scan legacy dirs first, as later items take priority -->
  <KDELegacyDirs/>
  <LegacyDir>/etc/X11/applnk</LegacyDir>
  <LegacyDir>/usr/share/cinnamon/apps</LegacyDir>

  <!-- Read standard .directory and .desktop file locations -->
  <DefaultAppDirs/>
  <DefaultDirectoryDirs/>

  <!-- Read in overrides and child menus from applications-merged/ -->
  <DefaultMergeDirs/>

  <!-- Accessories submenu -->
  <Menu>
    <Name>Accessories</Name>
    <Directory>cinnamon-utility.directory</Directory>
    <Include>
      <And>
        <Category>Utility</Category>
 <!-- Accessibility spec must have either the Utility or Settings
      category, and we display an accessibility submenu already for
      the ones that do not have Settings, so don't display accessibility
      applications here -->
        <Not><Category>Accessibility</Category></Not>
        <Not><Category>System</Category></Not>
      </And>
    </Include>
  </Menu> <!-- End Accessories -->

  <!-- Accessibility submenu -->
  <Menu>
    <Name>Universal Access</Name>
    <Directory>cinnamon-utility-accessibility.directory</Directory>
    <Include>
      <And>
        <Category>Accessibility</Category>
        <Not><Category>Settings</Category></Not>
      </And>
    </Include>
  </Menu> <!-- End Accessibility -->

<...>

  <Layout>
 <Merge type="menus"/>
 <Menuname>Accessories</Menuname>
 <Menuname>Education</Menuname>
 <Menuname>Games</Menuname>
<.......>
 <Merge type="files"/>
  </Layout>

</Menu>  <!-- End Applications -->


Назначение "скобок":
menu - описание меню, может содержать вложенное меню;
Directory - путь к файлу типа ".directory" - это ярлык типа "directory", в нем описывается иконка и название меню;
LegacyDir - путь к каталогу содержащем меню в устаревшего типа без файла menu;
KDELegacyDirs - аналог LegacyDir для KDE;
DefaultAppDirs - поиск ярлыков в "~/.local/share/.Applications" и "/usr/share/Applictions"
DefaultDirectoryDirs - поск ярлыка в "~/.local/share/.desktop-directories" и "/usr/share/.desktop-directories";
DefaultMergeDirs - поиск меню в каталоге "/etc/xdg/menus/applications-merged";
Include - правила для включения ярлыка в меню;
Exclude - правила исключения ярлыка из меню, приоритет определяется положением ф файле, если exсlude ниже include, то exclude имеет более высокий приоритет;
And - все правила должны выполняться;
Or - одно из правил должно выполняться;
Not - все правила не должны выполняться;
Category - у ярлыка должна совпадать категория;
All - у ярлыка должны сопадать все ключи;
Filename - имя файла ярлыка должно совпадать;
NotOnlyUnallocated - ярлыки попадают в первый проход обработки каталогов с ярлыками;
OnlyUnallocated - ярлыки которые не попали на этапе отбора в меню с NotOnlyUnallocated.

Рекомендуемые имена категорий, которые всегда должны быть в меню описаны: AudioVideo, Audio, Video, Development, Education, Game, Graphics, Network, Office, Settings, System, Utility.

Дополнительные имена категорий: Building, Debugger,
IDE, GUIDesigner, Profiling, RevisionControl, Translation, Calendar, ContactManagement, Database, Dictionary, Chart, Email, Finance, FlowChart, PDA, ProjectManagement, Presentation, Spreadsheet, WordProcessor, 2DGraphics, VectorGraphics, RasterGraphics, 3DGraphics, Scanning, OCR, Photography, Publishing, Viewer, TextTools, DesktopSettings, HardwareSettings, Printing, PackageManager, Dialup, InstantMessaging, Chat, IRCClient, FileTransfer, HamRadio, News, P2P, RemoteAccess, Telephony, TelephonyTools, VideoConference, WebBrowser, WebDevelopment, Midi, Mixer, Sequencer, Tuner, TV, AudioVideoEditing, Player, Recorder, DiscBurning, ActionGame, AdventureGame, ArcadeGame, BoardGame, BlocksGame, CardGame, KidsGame, LogicGame, RolePlaying, Simulation, SportsGame, StrategyGame, Art, Construction, Music, Languages, Science, ArtificialIntelligence, Astronomy, Biology, Chemistry, ComputerScience, DataVisualization, Economy, Electricity, Geography, Geology, Geoscience, History, ImageProcessing, Literature, Math, NumericalAnalysis, MedicalSoftware, Physics, Robotics, Sports, ParallelComputing, Amusement, Archiving, Compression, Electronics, Emulator, Engineering, FileTools, FileManager, TerminalEmulator, Filesystem, Monitor, Security, Accessibility, Calculator, Clock, TextEditor, Documentation, Core, KDE, GNOME, GTK, Qt, Motif, Java, ConsoleOnly.

В спецификации xde есть еще мудрености, но в них смысла не ввижу.

Date: 2017-07-28 02:33 am (UTC)
From: [identity profile] vlkamov.livejournal.com
Отчасти так. При желании можно подключить в меню приложение явно показывающее "Недавние файлы". Другое дело, что в меню FireFox, LibreOffice, Kate и "Просмотре документов" этот пункт есть и закрывает 99% потребностей.

Что касается устарелости "Пуск", то есть Gnome, Unity, Compiz и другие эксперименты c вестма кучерявым меню приложений. Но гляда на свои компьютеры я вижу, что в итоге у меня на всех от минимальнейшего ноубука до серверов встала LXDE с тем самым меню в стиле win-9../XP
Оно удобно.


Profile

zepete: (Default)
zepete

January 2026

S M T W T F S
    1 23
4 56 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 14th, 2026 02:50 am
Powered by Dreamwidth Studios