K iGddlmZddlZddlZddlZddlZddlZddlZddlm Z dZ e rddlm Z  d d dZ d dZ y) ) annotationsN)ImageF)ImageWinc V|tjdk(rtjd\}}t j |dg}|r|\}} } } |d|d| d| |z d| | z gz }t j|d|gztj|} | jt j||r+| j z   z f} | j | S| Stjdk(r|d}tjj||| t|nd \}}}tj d ||d d |d d zd zdzd} |r-|\}}|\}} } } | j#||z | |z | |z | |z f} | S|} tjj$s d}t'|tjj)|\}}tj d ||d d|d dzd} |r| j#|} | S#t&$r| tjdvrt+j,drddg}n4t+j,drdg}nt+j,drgd}ntjd\}}t j |t j||gztj|} | jt j||r%| j#|}| j |cYS| cYSwxYw)Ndarwinz.png screencapturez-R,z-xwin32rRGBrawBGRz$Pillow was built without XCB supportBGRXr)rr zgnome-screenshot-fgrim spectacle)rz-nz-br-o)sysplatformtempfilemkstemposclose subprocesscallropenloadunlinkresizecoregrabscreen_win32int frombytescropHAVE_XCBOSErrorgrabscreen_x11shutilwhich)bboxinclude_layered_windows all_screensxdisplaywindowfhfilepathargslefttoprightbottomim im_resizedoffsetsizedatax0y0 display_namemsg im_croppeds S/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/PIL/ImageGrab.pygrabrE!s <<8 ##++F3LB HHRL#$D+/(c5&$qQuTzl!F3J<HII OODD(#33 4H%B GGI IIh YY fsl'CD  !!I \\W $! !&!} d D]} | | vsy| dd!} | r$| d"| jAj!z } tC| t j|j}tj|}|jE|S)#Nr) osascriptz-eu#get the clipboard as «class PNGf»T)capture_outputr r fileImbcszutf-16lepngr)PngImagePluginDIB)BmpImagePluginWAYLAND_DISPLAYwaylandDISPLAYx11wl-paste)rVN)rY-timagexclip)rXN)r\z -selection clipboardrZz image/pngrzDwl-paste or xclip is required for ImageGrab.grabclipboard() on Linux)sNothing is copieds No selections"No suitable type of content copieds not availablescannot convert s(xclip: Error: There is no owner for the z errorz: )#rrrrun returncodebinasciiioBytesIO unhexlifystdoutrr r$grabclipboard_win32struct unpack_fromdecodesplitindex isinstancebytesrPrR PngImageFilerT DibImageFilergetenvr,r-NotImplementedErrorstderrstripChildProcessErrorr!)pr`r>fmtrfofilesrRrT session_typer5rBerr silent_errorr:s rD grabclipboardr{vsv ||x NN F  <<1 zz(,,QXXb_=>zz$  JJ224 T &= ""3-a0ABx1}QR/55d;QR 399$?*5;;r?+ + dE "::d#De|,%22488,%22488 99& '$L YYy ! LL << # 8I(I.D \\' "|}'DPDXC%c* * NN4 5 <<1 ((C !  3& !WIV$CCIIK..0122#C( (zz!((# ZZ    )NFFNN) r.z tuple[int, int, int, int] | Noner/boolr0r}r1z str | Noner2zint | ImageWin.HWND | Nonereturnz Image.Image)r~zImage.Image | list[str] | None) __future__rrarr,rrrrPr TYPE_CHECKINGrrEr{r|rDrs"#   .2$))- R *R!RR R ' R  RjNr|