2

I am looking for a sort of launcher program for my HTPC. The idea is this program starts when windows (or linux, I am happy with either OS) and brings up a menu of programs, such as XBMC, HULU Desktop, BOXEE, Firefox, Shutdown, And exit. Then the user can select a program with the arrow keys on their remote (or keyboard, or mouse, etc...) The program will then launch the selected program...

When the program exits the launcher will appear again allowing the user to start another program or exit to the computer's desktop or shutdown the computer.

Such a program seems simple and I would guess that one like this would exist already, however I have had no luck searching.

Does anyone know of such a program?

The closest thing I have come across are the "dock launchers" that mimic OSX's dock on windows/linux, however they do not have remote support.

6 Answers 6

2

I eventually ended up setting up my remote with eventghost, and set hotkeys to switch between applications. I even used my TV's remote and not the MCE remote that came with the receiver. Below is my eventghost configuration if anyone is interested.

<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Name="Configuration Tree" Expanded="True" Version="1366" Guid="{0185B32E-BE94-40DA-BE3C-167F125DAA94}" Time="1264186173.58">
    <Autostart Name="Autostart">
        <Plugin File="MceRemote" Identifier="MceRemote">
            gAJHP8MzMzMzMzOIhnEALg==
        </Plugin>
        <Plugin File="Keyboard" Identifier="Keyboard">
            gAIpLg==
        </Plugin>
        <Plugin File="Task" Identifier="Task">
            gAIpLg==
        </Plugin>
    </Autostart>
    <Folder Name="Keymaps" Expanded="True">
        <Folder Name="D-Mode" Expanded="True">
            <Folder Name="D-PAD" id="8" Enabled="False">
                <Macro Name="Enable exclusive: Mouse">
                    <Event Name="MceRemote.4522" />
                    <Action>
                        EventGhost.EnableExclusive(XmlIdLink(27))
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Up}">
                    <Event Name="MceRemote.4580" />
                    <Action>
                        Window.SendKeys(u'{Up}', False)
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Left}">
                    <Event Name="MceRemote.4551" />
                    <Action>
                        Window.SendKeys(u'{Left}', False)
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Down}">
                    <Event Name="MceRemote.4581" />
                    <Action>
                        Window.SendKeys(u'{Down}', False)
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Right}">
                    <Event Name="MceRemote.454D" />
                    <Action>
                        Window.SendKeys(u'{Right}', False)
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Enter}">
                    <Event Name="MceRemote.4521" />
                    <Action>
                        Window.SendKeys(u'{Enter}', False)
                    </Action>
                </Macro>
            </Folder>
            <Folder Name="Mouse" id="27" Expanded="True">
                <Macro Name="Enable exclusive: D-PAD">
                    <Event Name="MceRemote.4522" />
                    <Action>
                        EventGhost.EnableExclusive(XmlIdLink(8))
                    </Action>
                </Macro>
                <Macro Name="Move Mouse Up" Expanded="True">
                    <Event Name="MceRemote.4580" />
                    <Action>
                        Mouse.MoveRelative(None, -20)
                    </Action>
                </Macro>
                <Macro Name="Move Mouse Down" Expanded="True">
                    <Event Name="MceRemote.4551" />
                    <Action>
                        Mouse.MoveRelative(-20, None)
                    </Action>
                </Macro>
                <Macro Name="Move Mouse Left" Expanded="True">
                    <Event Name="MceRemote.4581" />
                    <Action>
                        Mouse.MoveRelative(None, 20)
                    </Action>
                </Macro>
                <Macro Name="Move Mouse Right" Expanded="True">
                    <Event Name="MceRemote.454D" />
                    <Action>
                        Mouse.MoveRelative(20, None)
                    </Action>
                </Macro>
                <Macro Name="Left mouse button double-click">
                    <Event Name="MceRemote.4521" />
                    <Action>
                        Mouse.LeftDoubleClick()
                    </Action>
                </Macro>
            </Folder>
        </Folder>
        <Macro Name="Emulate Keystrokes: {Backspace}">
            <Event Name="MceRemote.45EF" />
            <Action>
                Window.SendKeys(u'{Backspace}', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: i">
            <Event Name="MceRemote.4516" />
            <Action>
                Window.SendKeys(u'i', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: {Space}">
            <Event Name="MceRemote.4515" />
            <Action>
                Window.SendKeys(u'{Space}', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: p">
            <Event Name="MceRemote.4500" />
            <Action>
                Window.SendKeys(u'p', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: x">
            <Event Name="MceRemote.4514" />
            <Action>
                Window.SendKeys(u'x', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: .">
            <Event Name="MceRemote.4524" />
            <Action>
                Window.SendKeys(u'.', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: ,">
            <Event Name="MceRemote.4523" />
            <Action>
                Window.SendKeys(u',', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: f">
            <Event Name="MceRemote.4513" />
            <Action>
                Window.SendKeys(u'f', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: r">
            <Event Name="MceRemote.4519" />
            <Action>
                Window.SendKeys(u'r', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: h">
            <Event Name="MceRemote.4584" />
            <Action>
                Window.SendKeys(u'h', False)
            </Action>
        </Macro>
    </Folder>
    <Folder Name="Close">
        <Macro Name="Close" id="77" Expanded="True">
            <Event Name="MceRemote.4520" />
            <Action Name="Kill BOXEE">
                System.Execute(u'C:\\Windows\\System32\\taskkill.exe', u'/F /IM BOXEE.exe', 0, True, 2, u'')
            </Action>
            <Action Name="Kill XBMC">
                System.Execute(u'C:\\Windows\\System32\\taskkill.exe', u'/F /IM XBMC.exe', 0, True, 2, u'')
            </Action>
            <Action Name="Kill Hulu">
                System.Execute(u'C:\\Windows\\System32\\taskkill.exe', u'/F /IM HuluDesktop.exe', 0, True, 2, u'')
            </Action>
        </Macro>
    </Folder>
    <Folder Name="Switch">
        <Macro Name="Switch to mode: XBMC">
            <Event Name="MceRemote.4529" />
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(77), 2, True)
            </Action>
            <Action>
                System.Execute(u'C:\\Program Files\\XBMC\\XBMC.exe', u'-p -fs', 0, False, 2, u'')
            </Action>
        </Macro>
        <Macro Name="Switch to mode: BOXEE">
            <Event Name="MceRemote.4528" />
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(77), 2, True)
            </Action>
            <Action>
                System.Execute(u'C:\\Program Files\\Boxee\\BOXEE.exe', u'', 2, False, 2, u'')
            </Action>
        </Macro>
        <Macro Name="Switch to mode: Hulu">
            <Event Name="MceRemote.4527" />
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(77), 2, True)
            </Action>
            <Action>
                System.Execute(u'C:\\Users\\Media\\AppData\\Local\\HuluDesktop\\HuluDesktop.exe', u'', 2, False, 2, u'')
            </Action>
        </Macro>
    </Folder>
    <Folder Name="Misc">
        <Macro Name="Master Volume: Up">
            <Event Name="MceRemote.4503" />
            <Action>
                System.ChangeMasterVolumeBy(4.0, 0)
            </Action>
            <Action>
                EventGhost.AutoRepeat(0.59999999999999998, 0.29999999999999999, 0.01, 3.0)
            </Action>
        </Macro>
        <Macro Name="Master Volume: Down">
            <Event Name="MceRemote.4506" />
            <Action>
                System.ChangeMasterVolumeBy(-4.0, 0)
            </Action>
            <Action>
                EventGhost.AutoRepeat(0.59999999999999998, 0.29999999999999999, 0.01, 3.0)
            </Action>
        </Macro>
        <Macro Name="Mute">
            <Event Name="MceRemote.4509" />
            <Action>
                System.ToggleMute(0)
            </Action>
        </Macro>
        <Macro Name="Forced: Turn Off Computer">
            <Event Name="MceRemote.4512" />
            <Action>
                System.PowerDown(True)
            </Action>
        </Macro>
        <Macro Name="Toggle drive tray: ">
            <Event Name="MceRemote.45F5" />
            <Action>
                System.OpenDriveTray('D:', 0)
            </Action>
        </Macro>
    </Folder>
</EventGhost>
1

i'm using a Wii controller (Wiimote) as 'remote', this sure works with your launcher of choice. :)

here's a tutorial (for Windows, i'm sure there are alternatives for Linux).

(If you don't have a Wii, you can buy a Wiimote and sensor bar separately.)

1
  • I actually Have a wiimote (not a wii) that I bought for this exact purpose, However I like the idea of controlling everything with one remote (my TV remote). But I will probably implement this in the future.
    – lanrat
    Jan 23, 2010 at 18:21
0
  1. You could use the Windows desktop as a launcher. In Windows 7, my Media Center remote arrow buttons work like the arrow buttons on the keyboard. So any application that responds to the arrow buttons would work for you. There's an Ok/Enter button that acts like Enter. So you could just put shortcuts to the desired programs on the desktop (and presumably nothing else), and users can launch from those. You can also hide the taskbar and make the icons really big so it doesn't look desktop-y. If there are any existing launchers out there for Windows that respond to arrow keys and enter, those should work already.
  2. Alternatively you can use Visual Studio 2008 Express (free) or something similar to write an application that simply displays a set of buttons in a borderless window that is the size of your monitor. Put images on the buttons corresponding to the action. Wire up each button to start up whatever app you want. The arrow keys on the remote will move focus from button to button.
  3. Using LIRC in Linux, or for that matter using Girder in Windows, you can configure your PC to respond to the remote in pretty much any way imaginable. So you can map keystrokes to button pushes, or launch programs in response to button pushes, et cetera. On startup you could launch an image viewer in fullscreen with no borders that said "press 1 to go to Music, 2 for TV, ".... etc.
0

You mentioned that you are comfortable with either Windows or Linux, so does this mean you will be installing a new OS? One thing i have seen mentioned is Mythbuntu for HTPCs/Media Centres. I dont really know anything about it to be honest but it might be worth a look.

0

You could give uICE a try.

I've not used it myself, but the feature tour indicates the on screen menu might give you what you're after, even though it's not pretty.

screenshot

1
  • I ended up using eventghost, but this program looks similar.
    – lanrat
    Jan 23, 2010 at 18:20
0

I've written one for my HTPC to switch between MediaPortal & XBMC.

I've made it available for download and configurable to launch any application with the remote.

enter image description here

It's a neat, informative program that does the following:-

  • Allows the user to switch between popular HTPC applications such as MediaPortal, XBMC, Windows Media Center and many others, all from the comfort of your chair; with your remote control. (Remote's navigation and select buttons must match keyboard arrow keys and enter)
  • Displays the screen refresh rate.
  • Provides a summary of hard disk usage. Space remaining for recorded TV and the proportions of used space for movies, TV series and recorded programs.
  • Hides all desktop icons and restores them when the program is quit.
  • Configurable to run any application you choose (up to a maximum of three)
  • Can be made to start when Windows boots.
  • Program window can be positioned by the remote, so it doesn’t spoil your desktop wallpaper.
  • MediaPortal SQL database repair with one remote key press.

My blog at this link explains how to download and configure the launcher. HTPC Launcher

1
  • Welcome to Super User, Tim. Could you perhaps expand your post a little to include a description of what the app does, where to get it, etc?
    – slhck
    Aug 20, 2013 at 13:13

Not the answer you're looking for? Browse other questions tagged .