diff mbox

Set SDL icon_title when using `-name XXX` for proper gnome-panel window list integration

Message ID 2ca5c65a0909170409n67e97785p31f5d2d58cbe5058@mail.gmail.com
State Superseded
Headers show

Commit Message

Dominic Evans Sept. 17, 2009, 11:09 a.m. UTC
qemu: improve sdl title information

Include the `-name XXX` commandline param in the gnome-panel window list
via icon_title.

https://bugs.edge.launchpad.net/ubuntu/+source/qemu-kvm/+bug/423076

 static void sdl_hide_cursor(void)

Comments

Anthony Liguori Sept. 17, 2009, 3:25 p.m. UTC | #1
Dominic Evans wrote:
> qemu: improve sdl title information
>
> Include the `-name XXX` commandline param in the gnome-panel window list
> via icon_title.
>
> https://bugs.edge.launchpad.net/ubuntu/+source/qemu-kvm/+bug/423076
>   

Please include a Signed-off-by.

Regards,

Anthony Liguori
Dustin Kirkland Sept. 18, 2009, 12:05 a.m. UTC | #2
On Thu, Sep 17, 2009 at 10:25 AM, Anthony Liguori <anthony@codemonkey.ws> wrote:
> Dominic Evans wrote:
>>
>> qemu: improve sdl title information
>>
>> Include the `-name XXX` commandline param in the gnome-panel window list
>> via icon_title.
>>
>> https://bugs.edge.launchpad.net/ubuntu/+source/qemu-kvm/+bug/423076
>>
>
> Please include a Signed-off-by.

Hmm, I tested this patch for inclusion in Ubuntu.  It seems to work (-name foo).

However, it seems to either break, or expose a bug in libvirt:

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/engine.py", line 493, in run_domain
    vm.startup()
  File "/usr/share/virt-manager/virtManager/domain.py", line 558, in startup
    self.vm.create()
  File "/usr/lib/python2.6/dist-packages/libvirt.py", line 293, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error unable to start guest: /usr/bin/kvm:
invalid option -- '-domid'

I haven't quite made sense of this yet...  -domid is not a valid
parameter in kvm, sure.  However, when launching VM's in virt-manager
with this patch, this is the behavior I'm seeing...

:-Dustin
Dustin Kirkland Sept. 18, 2009, 3:59 p.m. UTC | #3
On Thu, Sep 17, 2009 at 7:05 PM, Dustin Kirkland
<dustin.kirkland@gmail.com> wrote:
> On Thu, Sep 17, 2009 at 10:25 AM, Anthony Liguori <anthony@codemonkey.ws> wrote:
>> Dominic Evans wrote:
>>>
>>> qemu: improve sdl title information
>>>
>>> Include the `-name XXX` commandline param in the gnome-panel window list
>>> via icon_title.
>>>
>>> https://bugs.edge.launchpad.net/ubuntu/+source/qemu-kvm/+bug/423076
>>>
>>
>> Please include a Signed-off-by.
>
> Hmm, I tested this patch for inclusion in Ubuntu.  It seems to work (-name foo).
>
> However, it seems to either break, or expose a bug in libvirt:
>
> Traceback (most recent call last):
>  File "/usr/share/virt-manager/virtManager/engine.py", line 493, in run_domain
>    vm.startup()
>  File "/usr/share/virt-manager/virtManager/domain.py", line 558, in startup
>    self.vm.create()
>  File "/usr/lib/python2.6/dist-packages/libvirt.py", line 293, in create
>    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
> libvirtError: internal error unable to start guest: /usr/bin/kvm:
> invalid option -- '-domid'
>
> I haven't quite made sense of this yet...  -domid is not a valid
> parameter in kvm, sure.  However, when launching VM's in virt-manager
> with this patch, this is the behavior I'm seeing...

Sorry, I take this back.  My testing was not in a clean environment.

Dominic's patch works for me.  I'm adding it to the Ubuntu qemu-kvm
package.  Hopefully it will be accepted upstream for 0.12.

Tested-by: Dustin Kirkland <kirkland@canonical.com>
diff mbox

Patch

diff --git a/sdl.c b/sdl.c
index de63c7f..42b6f37 100644
--- a/sdl.c
+++ b/sdl.c
@@ -407,7 +407,8 @@  static void sdl_process_key(SDL_KeyboardEvent *ev)

 static void sdl_update_caption(void)
 {
-    char buf[1024];
+    char win_title[1024];
+    char icon_title[1024];
     const char *status = "";

     if (!vm_running)
@@ -419,12 +420,15 @@  static void sdl_update_caption(void)
             status = " - Press Ctrl-Alt-Shift to exit grab";
     }

-    if (qemu_name)
-        snprintf(buf, sizeof(buf), "QEMU (%s)%s", qemu_name, status);
-    else
-        snprintf(buf, sizeof(buf), "QEMU%s", status);
+    if (qemu_name) {
+        snprintf(win_title, sizeof(win_title), "QEMU (%s)%s",
qemu_name, status);
+        snprintf(icon_title, sizeof(icon_title), "QEMU (%s)", qemu_name);
+    } else {
+        snprintf(win_title, sizeof(win_title), "QEMU%s", status);
+        snprintf(icon_title, sizeof(icon_title), "QEMU");
+    }

-    SDL_WM_SetCaption(buf, "QEMU");
+    SDL_WM_SetCaption(win_title, icon_title);
 }