403Webshell
Server IP : 209.205.66.10  /  Your IP : 216.73.216.173
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ammon 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
User :  ( 1006)
PHP Version : 8.5.8
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/rhythmbox/plugins/alternative-toolbar/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/rhythmbox/plugins/alternative-toolbar/__pycache__/alternative-toolbar.cpython-310.pyc
o

1�b�U�@sddlZddlZddlZddlmZddlmZddlmZe�dd�ddlmZddlm	Z	dd	l
mZdd
lm
Z
ddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZdZdZdZdZGdd�dejej�ZdS)�N)�GObject)�Gio)�Gtk�Peasz1.0)r)�RB)�PluginDialog)�CoverLocale)�GSetting)�Preferences)�ActionGroup)�ApplicationShell)�gtk_version)�AltToolbarCompact)�AltToolbarHeaderBar)�AltToolbarStandarda
<ui>
  <menubar name="MenuBar">
    <menu name="ViewMenu" action="View">
        <menuitem name="Show Toolbar" action="ToggleToolbar" />
        <menuitem name="Show Source Toolbar"
        action="ToggleSourceMediaToolbar" />
    </menu>
  </menubar>
</ui>
z�
<ui>
  <menubar name="MenuBar">
    <menu name="ViewMenu" action="View">
        <menuitem name="SeekBackward" action="SeekBackward" />
        <menuitem name="SeekForward" action="SeekForward" />
    </menu>
  </menubar>
</ui>
��
c@s&eZdZdZdZejejd�Zeje	dd�Z
eje	dd�Zeje	dd�Zeje	dd�Z
dejde	ffiZdd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Ze d3d'd(��Z!d)d*�Z"d4d+d,�Z#d4d-d.�Z$d/d0�Z%d1d2�Z&dS)5�AltToolbarPluginz^
    Main class of the plugin. Manages the activation and deactivation of the
    plugin.
    )�typeF)r�defaultztoolbar-visibilityNcCs(tj�|�d|_d|_|_|_dS)z0
        Initialises the plugin object.
        N)r�Object�__init__�appshell�sh_psc�sh_op�sh_pc��self�r�E/usr/lib/rhythmbox/plugins/alternative-toolbar/alternative-toolbar.pyrXszAltToolbarPlugin.__init__c
Cs�|j|_|jjj|_|jjj|_d|_d|_d|_d|_t	�}|�
|jj�t
j��}|�t�|d��t�|jjjdd�|_t�|_|j�|jjj�|_|j|jjj}|j|jjj|_ |j|jjj!|_"|j|jjj#|_$|j|jjj%|_&|j|jjj'|_(|j|jjj)|_*|j|jjj+|_,|j|jjj-|_.|j|jjj/|_0|j|jjj1|_2|j|jjj3|_4t5|j�|_6|�7�|dkr�dt8j9d	�:�vr�d
}nd}||j|jjj<d|_;|d
kr�t<�|_;n|j"r�t=�|_;nt>�|_;|j;�?|�|j;�@�z%tAjB�Cdd
gtAjDjE�}|�Fd�\}}}|�r#|dd�}|�Gd�d
}Wnd}Y|j.�rJ|dk�rJtAjH�Cdd�}	|	�Id|jJ�|jjjK�L|	�|�M�|�N�||j_O|�
|jjP�dS)z�
        Called by Rhythmbox when the plugin is activated. It creates the
        plugin's source and connects signals to manage the plugin's
        preferences.
        rNi�i&�imgzmain-toolbar�by_id�gnome�XDG_CURRENT_DESKTOP���	rhythmboxz	--version���� z	999.99.99z3.4.3�plugins�activate)Q�object�shell�props�db�shell_player�
song_duration�entry�_plugin_dialog_width�_plugin_dialog_heightr�
switch_locale�Locale�
LOCALE_DOMAINr�	IconTheme�get_default�append_search_path�rb�find_plugin_filer�find�window�
rb_toolbarr	�gs�get_setting�Path�PLUGIN�plugin_settings�	PluginKey�DISPLAY_TYPE�VOLUME_CONTROL�volume_control�SHOW_COMPACT�show_compact_toolbar�COMPACT_POS�compact_toolbar_pos�START_HIDDEN�start_hidden�INLINE_LABEL�inline_label�ENHANCED_SIDEBAR�enhanced_sidebar�
SHOW_TOOLTIPS�
show_tooltips�ENHANCED_PLUGINS�enhanced_plugins�HORIZ_CATEGORIES�horiz_categories�APP_MENU�app_menu�
DARK_THEME�prefer_dark_themerr�_add_menu_options�os�environ�lower�toolbar_typerrr�
initialise�post_initialiser�
Subprocess�new�SubprocessFlags�STDOUT_PIPE�communicate_utf8�split�SimpleAction�connect�_display_plugins�application�
add_action�_connect_signals�_connect_properties�alternative_toolbarr)
r�cl�theme�display_type�process�passval�buf�err�ver�actionrrr�do_activate`s�
������������


��zAltToolbarPlugin.do_activatecGszt|jt�}t�dkr
d}t|jjj|�}d}|�|j	|j
�|dkr/|��}t|�|dks#|�
�\|_	|_
|��dS)zK
          display our implementation of the LibPeas Plugin window
        g�(\��@FrN)�
isinstancer`rr
rr,r-r=�set_default_sizer2r3�run�print�get_size�destroy)r�args�
has_headerbar�dlg�responserrrrk�s
��z!AltToolbarPlugin._display_pluginscGs|j��dS�N)r`�on_search_toggle�rr�rrr�	on_search�szAltToolbarPlugin.on_searchc	Cs(t|jd�|_|jj|jdtd�ddtd�d�|j�|j�t|jd�|_|jj|j	dtd�dd	td
�d�|jj|j
dtd�dd
td�d�|j�|j�|j�tdd�t|jd�|_
|j
j|jdtd�tjdtd�d�|j
j|jdtd�tjddtd�d�|j�|j
�|j�tdd�dS)zC
          add the various menu options to the application
        �AltToolbarPluginSearchActions�Search�appz<Ctrl>f)�func�action_name�label�action_type�accel�tooltip�AltToolbarPluginSeekActions�SeekBackwardz
Seek Backwardz	<Alt>Leftz.Seek backward, in current track, by 5 seconds.�SeekForwardzSeek Forwardz
<Alt>Rightz.Seek forward, in current track, by 10 seconds.�view�AltToolbarPluginActions�
ToggleToolbarzShow Play-Controls Toolbarz&Show or hide the play-controls toolbar)r�r�r��action_stater�r��ToggleSourceMediaToolbarzShow Source Toolbarz<Ctrl>tzShow or hide the source toolbar)r�r�r�r�r�r�r�N)rr,�search_action_grouprmr��_r�insert_action_group�seek_action_group�on_skip_backward�on_skip_forward�add_app_menuitems�view_seek_menu_ui�toggle_action_group�toggle_visibility�TOGGLE�toggle_sourcemedia_visibility�view_menu_uirrrrr\�s|�
���
��
��	��
���	��z"AltToolbarPlugin._add_menu_optionscCs |j�|jjj|dtjj�dS)zk
          bind plugin properties to various gsettings that we dynamically
          interact with
        �
playing_labelN)rC�bindr?rD�
PLAYING_LABELr�SettingsBindFlags�GETrrrrro#s�z$AltToolbarPlugin._connect_propertiescCs�|jjj�d|j�|_|j�d|j�|_|j�d|j	�|_
|j�d|j�|_|j�d|j
�|_tj�d�|_|j�d|dtjj�|�d	|j�|�d
�|j�d|dtjj�|�d
|j�|�d
�d
S)zO
          connect to various rhythmbox signals that the toolbars need
        �selectedzplaying-song-changedzelapsed-changedzplaying-changedzplaying-song-property-changedzorg.gnome.rhythmboxzshow-album-art�show_album_artznotify::show-album-artNzshow-song-position-slider�show_song_position_sliderz!notify::show-song-position-slider)r,r-�display_page_treerj�on_page_change�sh_display_page_treer/�_sh_on_song_changer�_sh_on_playingr�_sh_on_playing_changer�_sh_on_song_property_changed�sh_pspcr�Settingsrd�rb_settingsr�r�r��show_album_art_settings_changed�*show_song_position_slider_settings_changedrrrrrn,s@
�������

��z!AltToolbarPlugin._connect_signalscCsB|��r|dddtjtjtjfvr|��}|j�|�dSdSdS)zP
           shell-player "playing-song-property-changed" signal handler
        �artist�album�titleN)�get_playingr� RHYTHMDB_PROP_STREAM_SONG_ARTIST�RHYTHMDB_PROP_STREAM_SONG_ALBUM�RHYTHMDB_PROP_STREAM_SONG_TITLE�get_playing_entryr`�display_song)r�sp�uri�property�oldrdr1rrrr�Ps
���z-AltToolbarPlugin._sh_on_song_property_changedcCsZ|j�||�|jdkr|j�d�dS|j�d�t|jd�r+d}|jj�|�dSdS)z?
        Shell-player 'playing-change' signal handler.
        rTF�total_time_label�N)r`�play_control_changer0�
enable_slider�hasattrr��
set_markup)r�player�playingr�rrrr�^s
�z&AltToolbarPlugin._sh_on_playing_changecCsR|dur
|�tjj�|_nd|_t|jd�r!|jjj�	|jpd�|j�
|�dS)zE
        Shell-player 'playing-song-changed' signal handler.
        Nr�
song_progressr$)�	get_ulongr�RhythmDBPropType�DURATIONr0r�r`r��
adjustment�	set_upperr�)rr�r1rrrr�ks
�z#AltToolbarPlugin._sh_on_song_changec
Cs�|jdkrdSz|jj}Wn
tyYdSw|�|j��|j�|�Wd�n1s/wYt|d�\}}t|d�\}}t|jd�\}}t|d�\}}|r^d�	||||||�}	nd�	||||�}	|jj
�|	�dS)z@
        Shell-player 'elapsed-changed' signal handler.
        rN�<z.<small>{}:{:02}:{:02} / {}:{:02}:{:02}</small>z(<small>{:02}:{:02} / {:02}:{:02}</small>)r0r`r��AttributeError�
handler_block�changed_callback_idr��	set_value�divmod�formatr�r�)
rr��seconds�slider�minutes�hours�
total_minutes�
total_seconds�total_hoursr�rrrr�ys.
����zAltToolbarPlugin._sh_on_playingcGsT|jjj}|��dr(|��dt}t|�|dkrd}t|�|�|�dSdS)z;
           keyboard seek backwards signal handler
        r$rN)r+r-r/r��get_playing_time�seek_backward_timer~�set_playing_time)rr�r��	seek_timerrrr��s
�z!AltToolbarPlugin.on_skip_backwardcGsX|jjj}|��dr(|��dt}|��}|dkr*||kr!|}|�|�dSdSdS)z:
           keyboard seek forwards signal handler
        r$rN)r+r-r/r�r��seek_forward_time�get_playing_song_durationr�)rr�r�r�r0rrrr��s
�z AltToolbarPlugin.on_skip_forwardcG�|j�|j�dS)z9
           rhythmbox show-slider signal handler
        N)r`�show_sliderr�r�rrrr���z;AltToolbarPlugin.show_song_position_slider_settings_changedcGr�)z<
           rhythmbox show-album-art signal handler
        N)r`�
show_coverr�r�rrrr��r�z0AltToolbarPlugin.show_album_art_settings_changedcCs2td|�|j�|�|j�|�|j�|�dS)z8
           sources display-tree signal handler
        zpage changedN)r~r`�reset_categories_pos�
reset_toolbar�reset_entryview)rr��pagerrrr��s
zAltToolbarPlugin.on_page_changecCs�dd�}t|tj�rE|dkr)tj�|�|kr(|dus&d|��vr(||�|kr(|Sn|dkrE|��|krE|dusCd|��vrE||�|krE|St|tj�r`|��D]}t�||||�}|r_|SqOdS)ad
        find various GTK Widgets
        :param node: node is the starting container to find from
        :param search_id: search_id is the GtkWidget type string or
        GtkWidget name
        :param search_type: search_type is the type of search
                            "by_name" to search by the type of GtkWidget
                            e.g. GtkButton
                            "by_id" to search by the GtkWidget (glade name)
                            e.g. box_1
        :param button_label: button_label to find specific buttons where we
        cannot use by_id
        :return:N/A
        cSs4|��}|r|S|��}|r|��dkr|��SdS)N�GtkLabel)�	get_label�	get_child�get_name�get_text)�buttonr��childrrr�
extract_label�sz,AltToolbarPlugin.find.<locals>.extract_labelr!N�Button�by_name)r{r�	Buildabler��	Container�get_childrenrr<)�node�	search_id�search_type�button_labelr�r��retrrrr<�s<�����
��zAltToolbarPlugin.findcCs�|`|jr,|j�|j�|j�|j�|j�|j�|j�|j�|jjj	�|j
�|`|jr4|j��|j
�d�|j��|`dS)z�
        Called by Rhythmbox when the plugin is deactivated. It makes sure to
        free all the resources used by the plugin.
        TN)r.rr/�
disconnectrrr�r,r-r�r�r�cleanupr>�set_visibler`rrrr�
do_deactivate�s
�

zAltToolbarPlugin.do_deactivatecC� |j�d�}|j�|���dS)z�
        Display or Hide PlayControls signal handler
        :param action:
        :param param:
        :param data:
        :return:
        r�N)r��
get_actionr`r�
get_active�rry�param�datarrrr�sz"AltToolbarPlugin.toggle_visibilitycCr)z�
        Display or Hide the source toolbar
        :param action:
        :param param:
        :param data:
        :return:
        r�N)r�r	r`�source_toolbar_visibilityr
rrrrr�"s�z.AltToolbarPlugin.toggle_sourcemedia_visibilitycCs*td�}|d7}td�}|d7}t�}|S)zs
        a method just to help out with translation strings
        it is not meant to be called by itself
        zAlternative Toolbar�dummyzgReplace the Rhythmbox large toolbar with a Client-Side Decorated or Compact Toolbar which can be hidden)r�r
)r�plugin�desc�prefrrr�_translation_helper/s�z$AltToolbarPlugin._translation_helpercCs|j�|�dS)z�
        a method to return the toolbar itself
        :param callback: function callback - func(AT.ToolbarCallback)
        passed
        :return:
        N)r`�setup_completed_async)r�callbackrrr�get_toolbarAszAltToolbarPlugin.get_toolbarr�)NN)'�__name__�
__module__�__qualname__�__doc__�_AltToolbarPlugin__gtype_namerr�rr+�bool�display_page_tree_visibler�r�r��SIGNAL_RUN_LAST�__gsignals__rrzrkr�r\rornr�r�r�r�r�r�r�r�r��staticmethodr<rr�r�rrrrrrrFsB�o;	$
	6


r)�gir:r]�
gi.repositoryrrr�require_versionrr�alttoolbar_pluginsr�alttoolbar_preferencesrr	r
�alttoolbar_rb3compatrrr
�alttoolbar_typerrrr�r�r�r�r�Activatablerrrrr�<module>s0

Youez - 2016 - github.com/yon3zu
LinuXploit