Results 1 to 3 of 3

Thread: kde pid from window id and vice versa

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Dec 2010
    Thanked 2 Times in 1 Post
    Qt products
    MacOS X Unix/X11 Windows

    Default kde pid from window id and vice versa


    I need a way to get the window id from pid of a process. And the reverse too, ie from the window id I need to get the pid of the process. I have the exepath and from the /proc i get the pid and from the pid I need to get the window Id( or a list of window ids).

    I am trying to write an app which will check if a particular process is currently running or not. If it is running then get its main window and make it active and set focus to it. If it is not running then start it and make it the active window.

    I can go platform specific on this. It need not be cross platform or qt. I am looking for code on KDE, X and gnome.

    Thank you.

  2. The following 2 users say thank you to sky for this useful post:

  3. #2
    Join Date
    Mar 2009
    Brisbane, Australia
    Thanked 1,610 Times in 1,537 Posts
    Qt products
    Qt4 Qt5
    Unix/X11 Windows
    Wiki edits

    Default Re: kde pid from window id and vice versa

    If the you are doing this because you want a Qt application to prohibit multiple copies of itself then QtSingleApplication can do that for Qt applications.

    If you want a general, nothing-to-do-with-Qt, approach for X11 systems then I suggest you look at the source of xwininfo to get an idea how to traverse the window information. The "-all" option shows the PID probably using the approach here:
    The same information is visible using xprop.

  4. The following 3 users say thank you to ChrisW67 for this useful post:

    sky (26th October 2012)

  5. #3
    Join Date
    Feb 2012
    Thanked 16 Times in 15 Posts
    Qt products
    Qt4 Qt5

    Default Re: kde pid from window id and vice versa

    The other way is to implement what you said manually. That is, to check the state of a process you need to execute a short kernel code to search through kernel process table and extract the process you are looking for. For the other purpose, that is to get the pid, read about fork() wait_pid().

  6. The following user says thank you to saman_artorious for this useful post:

Similar Threads

  1. reinterpretcast help . from struct to stream and vice-versa
    By tonnot in forum General Programming
    Replies: 4
    Last Post: 27th June 2011, 13:21
  2. Replies: 3
    Last Post: 13th May 2011, 13:46
  3. Replies: 0
    Last Post: 25th March 2010, 12:10
  4. conversion between string to hex and vice versa
    By mohanakrishnan in forum Newbie
    Replies: 2
    Last Post: 5th December 2009, 11:25
  5. Convert QByteArray to object and vice versa
    By DiamonDogX in forum Qt Programming
    Replies: 4
    Last Post: 20th July 2009, 20:07

Tags for this Thread


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.