* List of monitor names @ 2022-09-15 2:55 uzibalqa 2022-09-15 5:04 ` Po Lu 0 siblings, 1 reply; 7+ messages in thread From: uzibalqa @ 2022-09-15 2:55 UTC (permalink / raw) To: uzibalqa via Users list for the GNU Emacs text editor Can one get a list of monitor names that I can use to tell emacs where to put the frame? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: List of monitor names 2022-09-15 2:55 List of monitor names uzibalqa @ 2022-09-15 5:04 ` Po Lu 2022-09-15 10:52 ` uzibalqa 0 siblings, 1 reply; 7+ messages in thread From: Po Lu @ 2022-09-15 5:04 UTC (permalink / raw) To: uzibalqa; +Cc: uzibalqa via Users list for the GNU Emacs text editor uzibalqa <uzibalqa@proton.me> writes: > Can one get a list of monitor names that I can use to tell emacs where > to put the frame? How do you plan to use the monitor names to tell Emacs where to put a frame? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: List of monitor names 2022-09-15 5:04 ` Po Lu @ 2022-09-15 10:52 ` uzibalqa 2022-09-15 17:06 ` Sam Steingold 0 siblings, 1 reply; 7+ messages in thread From: uzibalqa @ 2022-09-15 10:52 UTC (permalink / raw) To: Po Lu; +Cc: uzibalqa via Users list for the GNU Emacs text editor ------- Original Message ------- On Thursday, September 15th, 2022 at 5:04 AM, Po Lu <luangruo@yahoo.com> wrote: > uzibalqa uzibalqa@proton.me writes: > > > Can one get a list of monitor names that I can use to tell emacs where > > to put the frame? > > > How do you plan to use the monitor names to tell Emacs where to put a > frame? Perhaps the user can get the monitor names and see which monitor he wants to work in. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: List of monitor names 2022-09-15 10:52 ` uzibalqa @ 2022-09-15 17:06 ` Sam Steingold 2022-09-16 1:30 ` Po Lu 0 siblings, 1 reply; 7+ messages in thread From: Sam Steingold @ 2022-09-15 17:06 UTC (permalink / raw) To: help-gnu-emacs, uzibalqa > * uzibalqa <hmvonydn@cebgba.zr> [2022-09-15 10:52:34 +0000]: > >> uzibalqa uzibalqa@proton.me writes: >> >> > Can one get a list of monitor names that I can use to tell emacs where >> > to put the frame? >> >> >> How do you plan to use the monitor names to tell Emacs where to put a >> frame? > > Perhaps the user can get the monitor names and see which monitor he wants to work in. For me the solution was based on https://askubuntu.com/q/702071/80483 and https://askubuntu.com/q/702002/80483; basically you run `xrandr` and parse its output. --8<---------------cut here---------------start------------->8--- # configure multiple displays and # move the windows to their appropriate displays import subprocess import os import wmctrl import re mydisplays = [("VGA1",0,"left"), ("eDP1",1080,"normal"), ("HDMI1",3000,"left")] def set_displays (): subprocess.check_call(" && ".join([ "xrandr --output %s --pos %dx0 --rotate %s" % d for d in mydisplays]), shell=True) mywindows = [("/emacs$","VGA1"), ("/chrome$","HDMI1"), ("gnome-terminal","eDP1")] def max_windows (): didi = dict([(d,x) for d,x,_ in mydisplays]) for w in wmctrl.Window.list(): try: exe = os.readlink("/proc/%d/exe" % (w.pid)) if exe.endswith(" (deleted)"): print("WARNING: restart %s" % exe) for (r,d) in mywindows: if re.search(r,exe): x = didi[d] print("%s(%s) --> %s (%d)" % (r,exe,d,x)) w.set_properties(("remove","maximized_vert","maximized_horz")) w.resize_and_move(x,0,w.w,w.h) w.set_properties(("add","maximized_vert","maximized_horz")) break except OSError: continue def cmdlines (cmd): return subprocess.check_output(cmd).splitlines() def show_displays (): for l in cmdlines(["xrandr"]): if " connected " in l: print(l) if __name__ == '__main__': show_displays() set_displays() show_displays() max_windows() --8<---------------cut here---------------end--------------->8--- -- Sam Steingold (https://aphar.dreamwidth.org/) on darwin Ns 10.3.2113 https://lastingimpactpsychology.com https://steingoldpsychology.com https://honestreporting.com https://thereligionofpeace.com https://ij.org/ Any supplier that makes enough to pay a full time lobbyist is overcharging. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: List of monitor names 2022-09-15 17:06 ` Sam Steingold @ 2022-09-16 1:30 ` Po Lu 2022-09-16 1:48 ` uzibalqa 0 siblings, 1 reply; 7+ messages in thread From: Po Lu @ 2022-09-16 1:30 UTC (permalink / raw) To: help-gnu-emacs; +Cc: uzibalqa Sam Steingold <sds@gnu.org> writes: > For me the solution was based on https://askubuntu.com/q/702071/80483 > and https://askubuntu.com/q/702002/80483; basically you run `xrandr` and > parse its output. Well, look no further than display-monitor-attributes-list, which uses RandR to obtain the same information, but without needing an external program. (Unless, of course, your X server only supports Xinerama, in which case it falls back to that.) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: List of monitor names 2022-09-16 1:30 ` Po Lu @ 2022-09-16 1:48 ` uzibalqa 2022-09-16 2:08 ` uzibalqa 0 siblings, 1 reply; 7+ messages in thread From: uzibalqa @ 2022-09-16 1:48 UTC (permalink / raw) To: Po Lu; +Cc: help-gnu-emacs ------- Original Message ------- On Friday, September 16th, 2022 at 1:30 AM, Po Lu <luangruo@yahoo.com> wrote: > Sam Steingold sds@gnu.org writes: > > > For me the solution was based on https://askubuntu.com/q/702071/80483 > > and https://askubuntu.com/q/702002/80483; basically you run `xrandr` and > > parse its output. > > > Well, look no further than display-monitor-attributes-list, which uses > RandR to obtain the same information, but without needing an external > program. > > (Unless, of course, your X server only supports Xinerama, in which case > it falls back to that.) With "display-monitor-attributes-list" I get (((geometry 1080 1152 1366 768) (workarea 1080 1152 1311 768) (mm-size 344 194) (frames #<frame *scratch* 0x16f3510> #<frame Speedbar 0x2b84190>) (source . "Gdk")) ((geometry 0 0 1080 1920) (workarea 0 0 1080 1920) (mm-size 477 268) (frames) (source . "Gdk"))) But still nobody has told me what frame should I use for the initial frame (seems it is usually *scratch*). What input should frame be in the command "(frame-outer-width frame)". ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: List of monitor names 2022-09-16 1:48 ` uzibalqa @ 2022-09-16 2:08 ` uzibalqa 0 siblings, 0 replies; 7+ messages in thread From: uzibalqa @ 2022-09-16 2:08 UTC (permalink / raw) To: uzibalqa; +Cc: Po Lu, help-gnu-emacs Sent with Proton Mail secure email. ------- Original Message ------- On Friday, September 16th, 2022 at 1:48 AM, uzibalqa <uzibalqa@proton.me> wrote: > ------- Original Message ------- > On Friday, September 16th, 2022 at 1:30 AM, Po Lu luangruo@yahoo.com wrote: > > > > > Sam Steingold sds@gnu.org writes: > > > > > For me the solution was based on https://askubuntu.com/q/702071/80483 > > > and https://askubuntu.com/q/702002/80483; basically you run `xrandr` and > > > parse its output. > > > > Well, look no further than display-monitor-attributes-list, which uses > > RandR to obtain the same information, but without needing an external > > program. > > > > (Unless, of course, your X server only supports Xinerama, in which case > > it falls back to that.) > > > With "display-monitor-attributes-list" I get > > (((geometry 1080 1152 1366 768) (workarea 1080 1152 1311 768) (mm-size 344 194) > (frames #<frame scratch 0x16f3510> #<frame Speedbar 0x2b84190>) > > (source . "Gdk")) ((geometry 0 0 1080 1920) (workarea 0 0 1080 1920) > (mm-size 477 268) (frames) (source . "Gdk"))) > > But still nobody has told me what frame should I use for the initial frame (seems it > is usually scratch). What input should frame be in the command "(frame-outer-width frame)". Doing (frame-outer-width "*scratch*") gives Debugger entered--Lisp error: (error "*scratch* is not a live frame") signal(error ("*scratch* is not a live frame")) error("%s is not a live frame" "*scratch*") window-normalize-frame("*scratch*") frame-outer-width("*scratch*") ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-09-16 2:08 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-09-15 2:55 List of monitor names uzibalqa 2022-09-15 5:04 ` Po Lu 2022-09-15 10:52 ` uzibalqa 2022-09-15 17:06 ` Sam Steingold 2022-09-16 1:30 ` Po Lu 2022-09-16 1:48 ` uzibalqa 2022-09-16 2:08 ` uzibalqa
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).