
    ?g*                     6    d dl mZ d dl ddgZ G d d      Zy)    )SidePage)*zscale-monitor-framebufferx11-randr-fractional-scalingc                   B    e Zd ZdZ ed      ZdZd Zd Zd Z	d Z
d Zy	)
ModuledisplayzManage display settingshardwarec                 f    t        d      }t        t        d      d||d|       | _        d | _        y )Nz7display, screen, monitor, layout, resolution, dual, lcdDisplayz
cs-displayi  )module)_r   sidePagedisplay_c_widget)selfcontent_boxkeywordss      ;/usr/share/cinnamon/cinnamon-settings/modules/cs_display.py__init__zModule.__init__   s1    NO 9|X{TW`de $    c                    | j                   st        d       t               | j                  _        | j                  j                  | j                  j                         t               }| j                  j                  j                  |dt        d             	 |j                  t        d            }t               }|j                  d       |j                  d       |j                  d       | j                  j                  j                  j!                  d      }|j#                  |ddd       || _        |j'                  |       |j)                         j+                  d       t               }| j                  j                  j                  |dt        d	             |j                  t        d	            }t/        t        d
      dd      }|j1                  t        d             |j'                  |       t3        t        d            }|j1                  t        d             |j'                  |       |j4                  | _        t8        j;                  d      | _        | j?                  | j<                  d       | j<                  jA                  d| j>                         | j6                  jA                  d| jB                         y y # t,        $ r}t        |       Y d }~d }~ww xY w)NzLoading Display modulelayoutLayoutr   r   TFsettingsSettingsz!Disable automatic screen rotationz4org.cinnamon.settings-daemon.peripherals.touchscreenzorientation-lockzkSelect this option to disable automatic screen rotation on hardware equipped with supported accelerometers.z1Enable fractional scaling controls (experimental)zQSelect this option to display additional layout controls for per-monitor scaling.zorg.cinnamon.muffin)	schema_idr   zchanged::experimental-featuresznotify::active)"loadedprintSettingsStackr   stack
add_widgetSettingsPage
add_titledr   add_sectionSettingsWidgetset_border_widthset_margin_startset_margin_endr   	c_managerget_c_widget
pack_startr   add_row
get_parentset_activatable	ExceptionGSettingsSwitchset_tooltip_textSwitchcontent_widgetfractional_switchGior   muffin_settingsexperimental_features_changedconnectfractional_switch_toggled)r   pager   widgetcontentdetailswitchs          r   on_module_selectedzModule.on_module_selected   s^   {{*+"//DMMMM$$T]]%8%89>DMM**41X;G++AhK8')''*''*%%a(--33==JJ9U!!'4q9(/%  (!!#33E:
  >DMM**4Qz]K''*6H$Q'J%K  ND  FX  YF##A  'T  %U  VV$AQRSF##A&y$z{V$%+%:%:D"#&<<:O<#PD ..t/C/CEcd  (()I4KmKmn""**+;T=[=[\W 0  fs   CK 	K6 K11K6c                    | j                   j                          | j                  j                  d      }| j                   j	                  t        t              j                  |             | j                   j                          y Nzexperimental-features)	r3   freeze_notifyr5   get_strv
set_activesetFRACTIONAL_ENABLE_OPTIONSissubsetthaw_notify)r   r   keyfeaturess       r   r6   z$Module.experimental_features_changed@   sc    ,,.''001HI))#.G*H*Q*QRZ*[\**,r   c                    |j                         }| j                  j                  d      }t        D ]  }	 	 |j	                  |        |r|j                  t               | j                  j                  d|       y # t
        $ r Y Ww xY wr@   )
get_activer5   rB   rE   remove
ValueErrorextendset_strv)r   r=   pspecactiverI   enablers         r   r8   z Module.fractional_switch_toggledH   s    ""$''001HI0 	GOOG, 	 OO56%%&=xH  s   A>>	B
	B
c                 R    | j                   r| j                   j                          y y )N)r   hide)r   s    r   on_navigate_out_of_modulez Module.on_navigate_out_of_moduleX   s"      !!&&( !r   N)__name__
__module____qualname__namer   commentcategoryr   r>   r6   r8   rU    r   r   r   r      s3    D)*GH%
,]\-I )r   r   N)SettingsWidgetsr   xapp.GSettingsWidgetsrE   r   r\   r   r   <module>r_      s%    % #8:XY R) R)r   