• Show log

    Commit

  • Hash : 5cfd36ab
    Author : Pierre Le Marre
    Date : 2025-02-14T10:35:49

    tools: Do not load names from the environment by default
    
    Our tools are debugging tools and as such we need to have complete
    control to be able to reproduce setups. This is not currently the case,
    as we do not use `XKB_CONTEXT_NO_ENVIRONMENT_NAMES` by default nor can
    we set it.
    
    So it is very easy to forget about the various `XKB_DEFAULT_*`
    environement variables for the default RMLVO values, then to get puzzled
    by unexpected results.
    
    Added to that, these environment variables do not work correctly in
    `xkbcli-compile-xeymap`: calling the tool without RMLVO values will
    use these variables only if the RMLVO values are set explicitly empty or
    if the various *constants* `DEFAULT_XKB_*` are empty. This is unexpected,
    as the environment variables should *always* be used unless:
    
    - `XKB_CONTEXT_NO_ENVIRONMENT_NAMES` is used (not the case here);
    - the variable is empty; in this case the constants `DEFAULT_XKB_*` are
      used.
    
    Fixed by the following *breaking change*: make the tools use
    `XKB_CONTEXT_NO_ENVIRONMENT_NAMES` *by default*, unless the new
    `--enable-environment-names` option is used.
    
    We also make `rmlvo` incompatible with `--enable-environment-names` for
    now in the public tool, as else it requires a private API.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/libxkbcommon.git
    Git SSH git@git.kmx.io:kc3-lang/libxkbcommon.git
    Public access ? public
    Description

    keymap handling library for toolkits and window systems

    Users
    kc3_lang_org www_kmx_io thodg_w thodg_l thodg thodg_m
    Tags

  • README.md

  • Fragments for the changelog

    This directory contains fragments for the future NEWS file.

    Introduction

    We use <code>towncrier</code> to produce useful, summarized news files.

    There are 3 sections types:

    • API: changes/api
    • Tools: changes/tools
    • Build System: changes/build

    There are 3 news fragments types:

    • Breaking changes: .breaking
    • New: .feature
    • Fixes: .bugfix

    Adding a fragment

    Add a short description of the change in a file changes/SECTION/ID.FRAGMENT.md, where:

    • SECTION and FRAGMENT values are described in the previous section.
    • ID is the corresponding issue identifier on Github, if relevant. If there is no such issue, then ID should start with + and some identifier that make the file unique in the directory.

    Examples:

    • A bug fix for the issue #463 is an API change, so the corresponding file should be named changes/api/463.bugfix.md.
    • A new feature for tools like #448 corresponds to e.g. changes/tools/+add-verbose-opt.feature.md.

    Guidelines for the fragment files:

    • Use the Markdown markup.
    • Use past tense, e.g. “Fixed a segfault”.
    • Look at the previous releases NEWS file for further examples.

    Build the changelog

    Install <code>towncrier</code> from Pypi:

    python3 -m pip install towncrier

    Then build the changelog:

    # Only check the result. Useful after adding a new fragment.
    towncrier build --draft --version 1.8.0
    # Write the changelog & delete the news fragments
    towncrier build --yes --version 1.8.0