
    \bj1                         d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZddlm	Z	 dZ
e
rddlmZ 	 	 	 	 	 dddddZddZdS )    )annotationsN   )ImageF)ImageWin)
scale_downbbox tuple[int, int, int, int] | Noneinclude_layered_windowsboolall_screensxdisplay
str | Nonewindowint | ImageWin.HWND | Noner   returnImage.Imagec          
     	   |t           j        dk    rFt          j        d          \  }}t	          j        |           dg}||dt          |          gz  }n!| r| \  }	}
}}|d|	 d|
 d||	z
   d||
z
   gz  }|d|gz  }t          j        |          }|rt          j	        ||          t          j        |          }|                                 t	          j        |           | rm|5t          j        d          \  }}t	          j        |           ddt          |          dd|g}t          j        |          }|rt          j	        ||          t          j        |          5 }|j        |j        z
  d	k    }d d d            n# 1 swxY w Y   t	          j        |           |rJ| \  }	}
}}|rd
nd}|                    ||	z
  |z  ||
z
  |z  ft!          d | D                                 }n|                    |           }|                                 |S |r3|                    ||	z
  ||
z
  f          }|                                 |S |S t           j        dk    r|d}t          j                            |||t)          |          nd          \  }}}t          j        d||dd|d         dz  dz   dz  d          }| r1|\  }}| \  }	}
}}|                    |	|z
  |
|z
  ||z
  ||z
  f          }|S |}	 t          j        j        sd}t/          |          t          j                            |          \  }}t          j        d||dd|d         dz  d
          }| r|                    |           }|S # t.          $ r9 |4t           j        dvr%t3          j        d          rddg}n2t3          j        d          rdg}nt3          j        d          rg d}n t          j        d          \  }}t	          j        |           |                    |           t          j        |          }|rt          j	        ||          t          j        |          }|                                 t	          j        |           | r-|                    |           }|                                 |cY S |cY S  w xY w)Ndarwinz.pngscreencapturez-lz-R,z-x-od   r      c              3      K   | ]	}|d z  V  
dS )r   N ).0coords     A/home/drrone/.local/lib/python3.11/site-packages/PIL/ImageGrab.py	<genexpr>zgrab.<locals>.<genexpr>R   s&      %B%BEeai%B%B%B%B%B%B    )boxwin32r   RGBrawBGR   z$Pillow was built without XCB supportBGRX   )r   r"   zgnome-screenshot-fgrim	spectacle)r-   z-nz-br+   r   )sysplatformtempfilemkstemposclosestr
subprocesscallCalledProcessErrorr   openloadunlinkwidthresizetuplecropcoregrabscreen_win32int	frombytesHAVE_XCBOSErrorgrabscreen_x11shutilwhichappend)r   r
   r   r   r   r   fhfilepathargslefttoprightbottomretcodeimim_no_shadowretinascale
im_cropped
im_resizedoffsetsizedatax0y0display_namemsgs                              r   grabr^   !   s    <8###+F33LBHRLLL#$D!s6{{++ J+/(c5&$HHHHuTzHHF3JHHIIT8$$D od++G C 3GTBBBH%%BGGIIIIh &% $,#3F#;#;LBHRLLL+T3v;;dHUD(od33G K(;GTJJJH-- E!#L,>!>!DE E E E E E E E E E E E E E EIh'''  3370c5&%/ 6Q%'YY#dle3fsle5KL %%B%BT%B%B%B B B &/ & &


 &(WWT]]
HHJJJ%% &!#EDL&3,+G!H!HJHHJJJ%%I\W$$! !&!<!<'%1Fq" "FD$
 a1qB&	 	B  MB+/(c5&WWdRir52:v{KLLI'L#z" 	8C#,,Z..|<<
d8 _UD$vtAw{ANN 	B	=    CL8K$K$K|.// *D1f%% xk** <<<#+F33LBHRLLLKK!!! od++G C 3GTBBBH%%BGGIIIIh "WWT]]



!!!!III3s,   .FFFAN D<S
S
S
Image.Image | list[str] | Nonec                    t           j        dk    rqt          j        g dd          } | j        dk    rd S dd l}t          j        |                    | j	        dd                             }t          j        |          S t           j        dk    r>t          j                                        \  }}|d	k    rdd l}|                    d
|          d         }|d         dk    r1||d                              d                              d          }n0||d                              d                              d          }|d |                    d                   S t'          |t(                    rVt          j        |          }|dk    rddlm} |                    |          S |dk    rddlm} |                    |          S d S t5          j        d          rd}	nt5          j        d          rd}	nd }	t9          j        d          r	|	dv rg d}
n.t9          j        d          r	|	dv rg d}
nd}t=          |          t          j        |
d          } | j        dk    r[| j        }d D ]	}||v r d S 
|
d          d!}|r,|d"|                                                                  z  }tC          |          t          j        | j	                  }t          j        |          }|"                                 |S )#Nr   )	osascriptz-eu#   get the clipboard as «class PNGf»T)capture_outputr      r"   fileI   mbcs zutf-16le pngr   )PngImagePluginDIB)BmpImagePluginWAYLAND_DISPLAYwaylandDISPLAYx11wl-paste)rp   N)rs   -timagexclip)rr   N)rv   z
-selection	clipboardrt   z	image/pngr   zDwl-paste or xclip is required for ImageGrab.grabclipboard() on Linux)s   Nothing is copieds   No selections"   No suitable type of content copieds    not availables   cannot convert s(   xclip: Error: There is no owner for the z errorz: )#r.   r/   r5   run
returncodebinasciiioBytesIO	unhexlifystdoutr   r8   r?   grabclipboard_win32structunpack_fromdecodesplitindex
isinstancebytesrj   rl   PngImageFilern   DibImageFiler2   getenvrF   rG   NotImplementedErrorstderrstripChildProcessErrorr9   )prz   rY   fmtr   ofilesrl   rn   session_typerK   r]   errsilent_errorrQ   s                  r   grabclipboardr      sB   
|xNFFF
 
 
 <14z(,,QXbe_==>>z$		 	 J2244	T&==MMM""3--a0ABx1}}QRR//55d;;QRR
3399$??*5;;r??*++dE"" 		9:d##De||,,,,,,%224888,,,,,,%224888t9&'' 	 $LLYy!! 	  LLL<
## 	+8I(I(I...DD\'"" 	+|}'D'DPPPDDXC%c***N4555<1(C!      3&&44 '!W$$$C 32CIIKK..00222#C(((z!(##Z
				r    )NFFNN)r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   )r   r_   )
__future__r   r{   r2   rF   r5   r.   r0   rj   r   TYPE_CHECKINGr   r^   r   r   r    r   <module>r      s   " # " " " " " 				 				      



         .2$))-x x x x x x xvN N N N N Nr    