Skip to content
Snippets Groups Projects
Select Git revision
  • 2020
  • master default protected
  • 2025.2
  • 2024.3
  • 2023.5
  • 2023.2
  • 2022
  • 2022.5
  • 2022.3
  • 2021.8
  • 2020.4
  • 2020.3
12 results

jsc-xdg-menu

user avatar
Jens Henrik Göbbert authored
c13eefa3
History
Name Last commit Last update
bin
config/menus
data
README.md

Fonts, Fonts, Fonts

introduction

We have three solutions for fonts in the X11-world:

  • FontPath in xorg.conf
  • X Font Service (xfs)
  • fontconfig

Most modern application today use fontconfig, xorg.conf is an ugly looking fallback, and xfs is (in general) not used anymore.
So we ensure FontPath is working and add a Section "Files" to our xorg.conf.d
and for modern true type fonts we configure fontconfig.

enable fontconfig

This is a work-around as fontconfig does not allow us in another way to set the path to the configuration file fonts.conf at a arbitory path
export XDG_CONFIG_HOME=${EBROOTXSERVER}/config -> XDG_CONFIG_HOME/fontconfig/fonts.conf
Sadly we have to set $XDG_CONFIG_HOME to a place it should not point (as the user has no write permission here). But I do not see another option (beside patching fontconfig, of course).

Desktop Menu

All details can be found here: https://specifications.freedesktop.org/menu-spec/latest/

menu definition

The menu is defined here

  • $XDG_CONFIG_DIRS/menus/${XDG_MENU_PREFIX}applications.menu
  • or at /etc/xdg/menus if XDG_CONFIG_DIRS is empty

More infos: https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html

desktop directories

The menu point to *.directory files, which define the look and action of the menu´s directories. They are located at

  • $XDG_DATA_DIRS/desktop-directories/ if the menu file includes the element
  • or at /usr/share/desktop-directories/ if XDG_DATA_DIRS is empty

desktop files

The menu points to *.desktop files, which define the look and action of the menu entries. They are located at

  • $XDG_DATA_DIRS/applications/ if the menu file includes the element
  • or at /usr/share/applications if XDG_DATA_DIRS is empty

More infos: https://developer.gnome.org/integration-guide/stable/desktop-files.html.en

desktop icons

They are located at

  • $XDG_DATA_DIRS/icons
  • or at /usr/share/pixmaps if XDG_DATA_DIRS is empty

-> enabling our own Desktop Menu

So we add a path at first place to $XDG_CONFIG_DIRS to define our own menu: export XDG_CONFIG_DIRS=${EBROOTXSERVER}/config:${XDG_CONFIG_DIRS}

Then, as we do not want to see the system-wide entries,

  • we also add a ${XDG_MENU_PREFIX}=jsc-
  • and define our menu in $XDG_CONFIG_DIRS/menus/jsc-applications.menu

And finally we add a path at first place to $XDG_DATA_DIRS: export XDG_DATA_DIRS=${EBROOTXSERVER}/data:${XDG_DATA_DIRS}

  • to define our own desktop directories in $XDG_DATA_DIRS/desktop-directories/
  • to define our own desktop entries in $XDG_DATA_DIRS/applications/