* How to get X Window id from within Emacs?
@ 2024-12-15 17:52 Jean Louis
2024-12-15 18:25 ` Eli Zaretskii
2024-12-15 19:00 ` Alain.Cochard
0 siblings, 2 replies; 7+ messages in thread
From: Jean Louis @ 2024-12-15 17:52 UTC (permalink / raw)
To: Help GNU Emacs
The standard shell commend `xwininfo' gives me the Window id, such as
0x2e000ac and then I can run shell command like `xdotool' to activate
the Emacs window:
$ xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x2e000ac "*shell* - GNU Emacs at lco2"
after switching to other workspace, then I can still do:
$ xdotool windowactivate 0x2e000ac
and I would return to Emacs X Window.
Is there a way to get the Window ID from within Emacs?
That will be useful to return to Emacs upon some notifications and
jobs done, during the watching of the movie.
Jean
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How to get X Window id from within Emacs?
2024-12-15 17:52 How to get X Window id from within Emacs? Jean Louis
@ 2024-12-15 18:25 ` Eli Zaretskii
2024-12-15 21:53 ` Jean Louis
2024-12-16 0:39 ` Po Lu
2024-12-15 19:00 ` Alain.Cochard
1 sibling, 2 replies; 7+ messages in thread
From: Eli Zaretskii @ 2024-12-15 18:25 UTC (permalink / raw)
To: help-gnu-emacs
> Date: Sun, 15 Dec 2024 20:52:13 +0300
> From: Jean Louis <bugs@gnu.support>
>
> The standard shell commend `xwininfo' gives me the Window id, such as
> 0x2e000ac and then I can run shell command like `xdotool' to activate
> the Emacs window:
>
> $ xwininfo
>
> xwininfo: Please select the window about which you
> would like information by clicking the
> mouse in that window.
>
> xwininfo: Window id: 0x2e000ac "*shell* - GNU Emacs at lco2"
>
> after switching to other workspace, then I can still do:
>
> $ xdotool windowactivate 0x2e000ac
>
> and I would return to Emacs X Window.
>
> Is there a way to get the Window ID from within Emacs?
There's the window-id frame parameter, although I'm not sure it is
universally available. Try
M-: (frame-parameter nil 'window-id) RET
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How to get X Window id from within Emacs?
2024-12-15 18:25 ` Eli Zaretskii
@ 2024-12-15 21:53 ` Jean Louis
2024-12-16 0:39 ` Po Lu
1 sibling, 0 replies; 7+ messages in thread
From: Jean Louis @ 2024-12-15 21:53 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: help-gnu-emacs
* Eli Zaretskii <eliz@gnu.org> [2024-12-15 21:28]:
> There's the window-id frame parameter, although I'm not sure it is
> universally available. Try
>
> M-: (frame-parameter nil 'window-id) RET
I think that ID is something Emacs related. Or I do not know how to convert it.
Result such as "46153928" I do not know how to use here:
$ sleep 3; xdotool windowactivate 46137524
XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
is it is supposed to look this way:
sleep 3; xdotool windowactivate 0x2e000ac
So do I need to convert it somehow?
(format "%x" 46137524) ➜ "2c000b4"
But it failed:
$ xdotool windowactivate 0x2c000b4
XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
I had to get: 0x2c040c4 instead as that was X Window ID, so I am not sure how this works.
Jean
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How to get X Window id from within Emacs?
2024-12-15 18:25 ` Eli Zaretskii
2024-12-15 21:53 ` Jean Louis
@ 2024-12-16 0:39 ` Po Lu
2024-12-16 5:20 ` Jean Louis
1 sibling, 1 reply; 7+ messages in thread
From: Po Lu @ 2024-12-16 0:39 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: help-gnu-emacs
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Sun, 15 Dec 2024 20:52:13 +0300
>> From: Jean Louis <bugs@gnu.support>
>>
>> The standard shell commend `xwininfo' gives me the Window id, such as
>> 0x2e000ac and then I can run shell command like `xdotool' to activate
>> the Emacs window:
>>
>> $ xwininfo
>>
>> xwininfo: Please select the window about which you
>> would like information by clicking the
>> mouse in that window.
>>
>> xwininfo: Window id: 0x2e000ac "*shell* - GNU Emacs at lco2"
>>
>> after switching to other workspace, then I can still do:
>>
>> $ xdotool windowactivate 0x2e000ac
>>
>> and I would return to Emacs X Window.
>>
>> Is there a way to get the Window ID from within Emacs?
>
> There's the window-id frame parameter, although I'm not sure it is
> universally available. Try
>
> M-: (frame-parameter nil 'window-id) RET
This is the ID of Emacs's "inner window", where it displays buffer text
and decorations. The `outer-window-id' frame parameter supplies a
window ID that is suitable for external programs such as xdotool.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How to get X Window id from within Emacs?
2024-12-16 0:39 ` Po Lu
@ 2024-12-16 5:20 ` Jean Louis
0 siblings, 0 replies; 7+ messages in thread
From: Jean Louis @ 2024-12-16 5:20 UTC (permalink / raw)
To: Po Lu; +Cc: Eli Zaretskii, help-gnu-emacs
* Po Lu <luangruo@yahoo.com> [2024-12-16 03:42]:
> This is the ID of Emacs's "inner window", where it displays buffer text
> and decorations. The `outer-window-id' frame parameter supplies a
> window ID that is suitable for external programs such as xdotool.
(format "0x%x" (string-to-number (frame-parameter nil 'outer-window-id))) ➜ "0x2c0506f"
This way now it works well, thank you much for looking into it.
--
Jean Louis
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How to get X Window id from within Emacs?
2024-12-15 17:52 How to get X Window id from within Emacs? Jean Louis
2024-12-15 18:25 ` Eli Zaretskii
@ 2024-12-15 19:00 ` Alain.Cochard
2024-12-15 21:57 ` Jean Louis
1 sibling, 1 reply; 7+ messages in thread
From: Alain.Cochard @ 2024-12-15 19:00 UTC (permalink / raw)
To: Jean Louis; +Cc: Help GNU Emacs
Jean Louis writes on Sun 15 Dec 2024 20:52:
> The standard shell commend `xwininfo' gives me the Window id, such as
> 0x2e000ac and then I can run shell command like `xdotool' to activate
> the Emacs window:
>
> $ xwininfo
>
> xwininfo: Please select the window about which you
> would like information by clicking the
> mouse in that window.
>
> xwininfo: Window id: 0x2e000ac "*shell* - GNU Emacs at lco2"
>
> after switching to other workspace, then I can still do:
>
> $ xdotool windowactivate 0x2e000ac
>
> and I would return to Emacs X Window.
>
> Is there a way to get the Window ID from within Emacs?
Wouldn't 'xwininfo' (or 'wmctrl'), from an Emacs shell, be enough?
> That will be useful to return to Emacs upon some notifications and
> jobs done, during the watching of the movie.
--
EOST (École et Observatoire des Sciences de la Terre)
ITE (Institut Terre & Environnement) | alain.cochard@unistra.fr
5 rue René Descartes | Phone: +33 (0)3 68 85 50 44
F-67084 Strasbourg Cedex, France | bureau 110, ancien bât.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How to get X Window id from within Emacs?
2024-12-15 19:00 ` Alain.Cochard
@ 2024-12-15 21:57 ` Jean Louis
0 siblings, 0 replies; 7+ messages in thread
From: Jean Louis @ 2024-12-15 21:57 UTC (permalink / raw)
To: Alain.Cochard; +Cc: Help GNU Emacs
* Alain.Cochard@unistra.fr <Alain.Cochard@unistra.fr> [2024-12-15 22:02]:
> Wouldn't 'xwininfo' (or 'wmctrl'), from an Emacs shell, be enough?
- if I would know how to get result from `xwininfo` at the moment when it is fired out of Emacs, without me clicking on it, then fine.
- wmctrl I do not know how, do you know?
I need it programmatically, without user's interaction.
But now I am thinking to use `(select-frame-set-input-focus (selected-frame))` instead, to bring the user back to Emacs, let me try...
(progn
(sleep-for 10)
(select-frame-set-input-focus (selected-frame)))
So that worked well, I think I must use that method, and case is resolved now.
--
Jean Louis
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-12-16 5:20 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-15 17:52 How to get X Window id from within Emacs? Jean Louis
2024-12-15 18:25 ` Eli Zaretskii
2024-12-15 21:53 ` Jean Louis
2024-12-16 0:39 ` Po Lu
2024-12-16 5:20 ` Jean Louis
2024-12-15 19:00 ` Alain.Cochard
2024-12-15 21:57 ` Jean Louis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).