MiyooCFW / gmenu2x

Front-end launcher used as the main one on the custom firmware
GNU General Public License v2.0
30 stars 28 forks source link

Info

This GMenu2X is a fork of GMenuNX and is developed for the MiyooCFW, released under the GNU GPL license v2.

View changelog in changelog file & release page.

Installation

A) Binary

  1. Replace the gmenu2x binary with the latest one.
  2. Additionaly for working directory with linux spefific file type partition (e.g.: EXT, BTRFS): chmod +x gmenu2x
  3. (Re)Boot your device and enjoy new GMenu2X

    B) ZIP-bundle

  4. Extract the gmenu2x-*.zip content to $HOME/gmenu2x directory on your device
  5. Perform steps 2 & 3 from "Binary" installation process

    C) IPK-package

  6. Launch gmenu2x-*.ipk from within GMenu2X's Explorer.
  7. Restart GMenu2X frontend or reboot device.

Building

MiyooCFW:

Set up your environment with latest SDK (use MiyooCFW/buildroot). Generated toolchain should be placed at /opt/miyoo/ directory.

Translations

The list of available translations with examples are stored in gmenu2x/translations/ dir of your GMenu2X distribution package.
The current in use messages from U.S. English language can be read from: translate.txt. This does not include appLinks' Title&Description which can be added freely by user.

You can run tools/gen_translate.sh to generate above list providing argument in form of txt file with list of #define for your platform. Otherwise you can rebuild GMenu2X with -DCHECK_TRANSLATION CFLAG in Makefile. Then after running binary with selected language you will find untraslated.txtfile with list of missing translation strings which failed to be generated at the time of using GMenu2X.

Special strings in translation file

The "_about_" assigns corresponding text file for displaying About message, e.g. "_about_=_about_en" means _about_en.txt is being used for English translation.

The "_keyboard___" string will modify alternative overlay keyboard on Input Dialog (accesed with MODIFY button). The "_keyboarden__" string will modify original English overlay keyboard on Input Dialog (accesed directly or with MANUAL button ).

The "_TTSvoice\" string assigns voice type used by TTS engine e.g. "_TTSvoice\"=en" for English (check for available voices on your device /usr/share/espeak-data/voices)

Dictionary

To view the full list of string messages available to translate in source see: dictionary.txt

To generate this list of available strings' aliases you can run from src:

(grep -o -rn . -P -e "\ttr\["[^]]*"\]" ; grep -o -rn . -e '>tr\["[^]]*"\]\|(tr\["[^]]*"\]\|\+tr\["[^]]*"\]\|\ tr\["[^]]*"\]\|,tr\["[^]]*"\]') | sed 's/.*\[\(.*\)\].*/\1/' | sed 's/\"\(.*\)\"/\1=/' | sed ':a;N;$!ba;s/\\n/ /g' | tr -d '\\' | sort | uniq

Skins & fonts

Please refer to directory containing appropriate skin for detailed information about authors and licensing of specific theme and its fonts. See below schema for general info:

assets/skins
├── Default
│   ├── GNU_Unifont.ttf
│   ├── LICENSE_font-GPLv2.txt
│   └── LICENSE_skin.txt
├── FontiGrid
│   ├── BebasKai.ttf
│   ├── BebasNeue-Bold.ttf
│   ├── font-modify.info
│   ├── LICENSE_font-OFLv1.1.txt
│   └── LICENSE_skin-GPLv2.txt
├── GameShow
│   ├── font-modify.info
│   ├── KdamThmorPro-Regular.ttf
│   ├── LICENSE_font-OFLv1.1.txt
│   └── LICENSE_skin-CC_BY_3.0_US.txt
├── NeonWave
│   ├── Audiowide-Regular.ttf
│   ├── font-modify.info
│   ├── LICENSE_font-OFLv1.1.txt
│   └── LICENSE_skin-CC_BY_3.0_US.txt
└── Nsdark
    ├── BebasKai.ttf
    ├── BebasNeue-Bold.ttf
    ├── font-modify.info
    ├── LICENSE_font-OFLv1.1.txt
    └── LICENSE_skin-GPLv2.txt

above list generated with cmd: tree assets/skins -L 2 -I 'icons|imgs|logos*|sections|wallpap*|backdrops|free_backdrop|font.ttf|skin.conf|ACKNOW*' -U

Fonts under OFL license has been expanded with GNU_Unifont.ttf using font_merge.sh tool to include most of the UNICODE glyphs and all CJK characters, thus transforming to Pan-Unicode font type.

Controls

(Bittboy's specific mapping in round brackets)

In settings:

AutoStart

Parameters

You can pass useful variables (which can be treated as arguments for cmd) before launching app in the editLink menu under "Parameters" option:

How to have previews in Selector Browser