Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • linuxmce linuxmce
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 255
    • Issues 255
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • linuxmce
  • linuxmcelinuxmce
  • Issues
  • #2083

Closed
Open
Created Mar 02, 2014 by Thom Cherryhomes@tschak909Maintainer

Implement Menu Notifications in Game Player

Implement the ability for emulators to notify the Game Player that a menu is visible, and that Orbiter should adjust its screen accordingly.

The approach taken is to use inotify to watch files inside /run/Game_Player_state/ and to act upon them, e.g.

/run/Game_Player_state/MENU_VISIBLE would contain a single value, the menu to display.

This approach is taken, because it can be adapted to a variety of emulator engines, without burdening with a socket or fifo implementation that would require a consistent connection. This approach makes notification stateless, and modeless; all the emulator has to do is create the appropriate file when a UI action needs to take place.

e.g. MENU_VISIBLE will contain a single integer specifying which menu to show. This would be specific to each emulator.

Once the file is created, the inotify watch will fire an EVENT_Menu_Onscreen(), with true or false, depending on if the file is created or deleted (created when menu visible, deleted when menu is no longer visible).

This does imply that when the UI needs to change, a deletion needs to occur to keep transaction atomicity.

Assignee
Assign to
Time tracking