mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-16 01:57:09 +00:00
remove deprecated BMPx support
This commit is contained in:
parent
427fa810d7
commit
9dd559b1e9
@ -17,7 +17,7 @@ Conky can display more than 300 built-in objects, including support for:
|
|||||||
monitoring**, just to name a few).
|
monitoring**, just to name a few).
|
||||||
* Built-in **IMAP** and **POP3** support.
|
* Built-in **IMAP** and **POP3** support.
|
||||||
* Built-in support for many popular music players ([MPD][],
|
* Built-in support for many popular music players ([MPD][],
|
||||||
[XMMS2][], [BMPx][], [Audacious][]).
|
[XMMS2][], [Audacious][]).
|
||||||
* Can be extended using built-in [**Lua**](lua) support, or any of your
|
* Can be extended using built-in [**Lua**](lua) support, or any of your
|
||||||
own scripts and programs ([more](https://github.com/brndnmtthws/conky/wiki#tutorial)).
|
own scripts and programs ([more](https://github.com/brndnmtthws/conky/wiki#tutorial)).
|
||||||
* Built-in [**Imlib2**][Imlib2] and [**Cairo**][cairo] bindings for arbitrary drawing
|
* Built-in [**Imlib2**][Imlib2] and [**Cairo**][cairo] bindings for arbitrary drawing
|
||||||
@ -68,7 +68,6 @@ Patches submitted in issues, email, or elsewhere will likely be ignored. When su
|
|||||||
|
|
||||||
[MPD]: https://musicpd.org/
|
[MPD]: https://musicpd.org/
|
||||||
[XMMS2]: https://github.com/xmms2/wiki/wiki
|
[XMMS2]: https://github.com/xmms2/wiki/wiki
|
||||||
[BMPx]: https://www.beep-media-player.org/
|
|
||||||
[Audacious]: https://audacious-media-player.org/
|
[Audacious]: https://audacious-media-player.org/
|
||||||
[luawiki]: https://en.wikipedia.org/wiki/Lua_%28programming_language%29
|
[luawiki]: https://en.wikipedia.org/wiki/Lua_%28programming_language%29
|
||||||
[Imlib2]: https://docs.enlightenment.org/api/imlib2/html/
|
[Imlib2]: https://docs.enlightenment.org/api/imlib2/html/
|
||||||
|
@ -220,8 +220,6 @@ option(BUILD_LUA_RSVG "Build rsvg bindings for Lua" false)
|
|||||||
|
|
||||||
option(BUILD_AUDACIOUS "Build audacious (music player) support" false)
|
option(BUILD_AUDACIOUS "Build audacious (music player) support" false)
|
||||||
|
|
||||||
option(BUILD_BMPX "Build BMPx (music player) support" false)
|
|
||||||
|
|
||||||
option(BUILD_MPD "Enable if you want MPD (music player) support" true)
|
option(BUILD_MPD "Enable if you want MPD (music player) support" true)
|
||||||
|
|
||||||
option(BUILD_MYSQL "Enable if you want MySQL support" false)
|
option(BUILD_MYSQL "Enable if you want MySQL support" false)
|
||||||
|
@ -412,12 +412,6 @@ if(BUILD_AUDACIOUS)
|
|||||||
${DBUS_GLIB_INCLUDE_DIRS})
|
${DBUS_GLIB_INCLUDE_DIRS})
|
||||||
endif(BUILD_AUDACIOUS)
|
endif(BUILD_AUDACIOUS)
|
||||||
|
|
||||||
if(BUILD_BMPX)
|
|
||||||
pkg_check_modules(BMPX REQUIRED bmp-2.0>=0.14.0)
|
|
||||||
set(conky_libs ${conky_libs} ${BMPX_LIBRARIES})
|
|
||||||
set(conky_includes ${conky_includes} ${BMPX_INCLUDE_DIRS})
|
|
||||||
endif(BUILD_BMPX)
|
|
||||||
|
|
||||||
if(BUILD_XMMS2)
|
if(BUILD_XMMS2)
|
||||||
pkg_check_modules(XMMS2 REQUIRED xmms2-client>=0.6)
|
pkg_check_modules(XMMS2 REQUIRED xmms2-client>=0.6)
|
||||||
set(conky_libs ${conky_libs} ${XMMS2_LIBRARIES})
|
set(conky_libs ${conky_libs} ${XMMS2_LIBRARIES})
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
progress bars, and graphs. Also unlike top, the way it is
|
progress bars, and graphs. Also unlike top, the way it is
|
||||||
formatted is completely user-configurable. In addition to
|
formatted is completely user-configurable. In addition to
|
||||||
monitoring the system itself, Conky can also give you
|
monitoring the system itself, Conky can also give you
|
||||||
information about several music players (such as XMMS, BMPx,
|
information about several music players (such as XMMS,
|
||||||
Music Player Daemon, and Audacious Media Player), tell you how
|
Music Player Daemon, and Audacious Media Player), tell you how
|
||||||
many new messages are in your mail spool, and plenty more. If
|
many new messages are in your mail spool, and plenty more. If
|
||||||
the functionality you require isn't in Conky yet, it is a
|
the functionality you require isn't in Conky yet, it is a
|
||||||
@ -62,8 +62,8 @@
|
|||||||
<c>X</c>), and make sure you select the USE flags for any
|
<c>X</c>), and make sure you select the USE flags for any
|
||||||
music players (other than MPD) which you want. XMMS (
|
music players (other than MPD) which you want. XMMS (
|
||||||
<c>xmms</c>), Audacious (
|
<c>xmms</c>), Audacious (
|
||||||
<c>audacious</c>), BMPx (
|
<c>audacious</c>),
|
||||||
<c>bmpx</c>), or XMMS support via the xmms-infopipe plugin (
|
or XMMS support via the xmms-infopipe plugin (
|
||||||
<c>infopipe</c>).</p>
|
<c>infopipe</c>).</p>
|
||||||
<pre caption="/etc/portage/package.use">
|
<pre caption="/etc/portage/package.use">
|
||||||
<comment># Example line to append to /etc/portage/package.use if you don't
|
<comment># Example line to append to /etc/portage/package.use if you don't
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
a plethora of OS stats (uname, uptime, CPU usage, mem usage, disk
|
a plethora of OS stats (uname, uptime, CPU usage, mem usage, disk
|
||||||
usage, "top" like process stats, and network monitoring, just to name
|
usage, "top" like process stats, and network monitoring, just to name
|
||||||
a few), built in IMAP and POP3 support, built in support for many
|
a few), built in IMAP and POP3 support, built in support for many
|
||||||
popular music players (MPD, XMMS2, BMPx, Audacious), and much much
|
popular music players (MPD, XMMS2, Audacious), and much much
|
||||||
more. Conky can display this info either as text, or using simple
|
more. Conky can display this info either as text, or using simple
|
||||||
progress bars and graph widgets, with different fonts and
|
progress bars and graph widgets, with different fonts and
|
||||||
colours.</para>
|
colours.</para>
|
||||||
|
@ -471,60 +471,6 @@
|
|||||||
<listitem>Let 'text_and_other_conky_vars' blink on and off.
|
<listitem>Let 'text_and_other_conky_vars' blink on and off.
|
||||||
<para /></listitem>
|
<para /></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
|
||||||
<term>
|
|
||||||
<command>
|
|
||||||
<option>bmpx_album</option>
|
|
||||||
</command>
|
|
||||||
</term>
|
|
||||||
<listitem>Album in current BMPx track.
|
|
||||||
<para /></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>
|
|
||||||
<command>
|
|
||||||
<option>bmpx_artist</option>
|
|
||||||
</command>
|
|
||||||
</term>
|
|
||||||
<listitem>Artist in current BMPx track.
|
|
||||||
<para /></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>
|
|
||||||
<command>
|
|
||||||
<option>bmpx_bitrate</option>
|
|
||||||
</command>
|
|
||||||
</term>
|
|
||||||
<listitem>Bitrate of the current BMPx track.
|
|
||||||
<para /></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>
|
|
||||||
<command>
|
|
||||||
<option>bmpx_title</option>
|
|
||||||
</command>
|
|
||||||
</term>
|
|
||||||
<listitem>Title of the current BMPx track.
|
|
||||||
<para /></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>
|
|
||||||
<command>
|
|
||||||
<option>bmpx_track</option>
|
|
||||||
</command>
|
|
||||||
</term>
|
|
||||||
<listitem>Track number of the current BMPx track.
|
|
||||||
<para /></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>
|
|
||||||
<command>
|
|
||||||
<option>bmpx_uri</option>
|
|
||||||
</command>
|
|
||||||
</term>
|
|
||||||
<listitem>URI of the current BMPx track.
|
|
||||||
<para /></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<command>
|
<command>
|
||||||
|
@ -11,7 +11,7 @@ color green "\<(alignment|append_file|background|border_inner_margin|border_oute
|
|||||||
color yellow "\<(above|below|bottom_left|bottom_right|bottom_middle|desktop|dock|no|none|normal|override|skip_pager|skip_taskbar|sticky|top_left|top_right|top_middle|middle_left|middle_right|middle_middle|undecorated|yes)\>"
|
color yellow "\<(above|below|bottom_left|bottom_right|bottom_middle|desktop|dock|no|none|normal|override|skip_pager|skip_taskbar|sticky|top_left|top_right|top_middle|middle_left|middle_right|middle_middle|undecorated|yes)\>"
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
color brightblue "\<(acpiacadapter|acpifan|acpitemp|addr|addrs|alignc|alignr|apcupsd|apcupsd_cable|apcupsd_charge|apcupsd_lastxfer|apcupsd_linev|apcupsd_load|apcupsd_loadbar|apcupsd_loadgauge|apcupsd_loadgraph|apcupsd_model|apcupsd_name|apcupsd_status|apcupsd_temp|apcupsd_timeleft|apcupsd_upsmode|apm_adapter|apm_battery_life|apm_battery_time|audacious_bar|audacious_bitrate|audacious_channels|audacious_filename|audacious_frequency|audacious_length|audacious_length_seconds|audacious_main_volume|audacious_playlist_length|audacious_playlist_position|audacious_position|audacious_position_seconds|audacious_status|audacious_title|battery|battery_bar|battery_percent|battery_short|battery_time|blink|bmpx_album|bmpx_artist|bmpx_bitrate|bmpx_title|bmpx_track|bmpx_uri|buffers|cached|cat|catp|cmdline_to_pid|color|color0|color1|color2|color3|color4|color5|color6|color7|color8|color9|combine|conky_build_arch|conky_build_date|conky_version|cpu|cpubar|cpugauge|cpugraph|curl|desktop|desktop_name|desktop_number|disk_protect|diskio|diskio_read|diskio_write|diskiograph|diskiograph_read|diskiograph_write|distribution|downspeed|downspeedf|downspeedgraph|draft_mails|else|endif|entropy_avail|entropy_bar|entropy_perc|entropy_poolsize|eval|eve|exec|execbar|execgauge|execgraph|execi|execibar|execigauge|execigraph|execp|execpi|flagged_mails|font|font0|font1|font2|font3|font4|font5|font6|font7|font8|font9|format_time|forwarded_mails|freq|freq_g|fs_bar|fs_bar_free|fs_free|fs_free_perc|fs_size|fs_type|fs_used|fs_used_perc|goto|gw_iface|gw_ip|hddtemp|head|hr|hwmon|i2c|i8k_ac_status|i8k_bios|i8k_buttons_status|i8k_cpu_temp|i8k_left_fan_rpm|i8k_left_fan_status|i8k_right_fan_rpm|i8k_right_fan_status|i8k_serial|i8k_version|ibm_brightness|ibm_fan|ibm_temps|ibm_volume|ical|iconv_start|iconv_stop|if_empty|if_existing|if_gw|if_match|if_mixer_mute|if_mounted|if_mpd_playing|if_running|if_smapi_bat_installed|if_up|if_updatenr|if_pa_sink_muted|if_xmms2_connected|image|imap_messages|imap_unseen|ioscheduler|irc|journal|kernel|laptop_mode|lines|loadavg|loadgraph|lua|lua_bar|lua_gauge|lua_graph|lua_parse|machine|mails|mboxscan|mem|memwithbuffers|membar|memwithbuffersbar|memwithbuffersgraph|memeasyfree|memfree|memgauge|memgraph|memmax|memperc|mixer|mixerbar|mixerl|mixerlbar|mixerr|mixerrbar|moc_album|moc_artist|moc_bitrate|moc_curtime|moc_file|moc_rate|moc_song|moc_state|moc_timeleft|moc_title|moc_totaltime|monitor|monitor_number|mpd_album|mpd_artist|mpd_bar|mpd_bitrate|mpd_elapsed|mpd_file|mpd_length|mpd_name|mpd_percent|mpd_random|mpd_repeat|mpd_smart|mpd_status|mpd_title|mpd_track|mpd_vol|mysql|nameserver|new_mails|nodename|nodename_short|no_update|nvidia|obsd_product|obsd_sensors_fan|obsd_sensors_temp|obsd_sensors_volt|obsd_vendor|offset|outlinecolor|pa_sink_volume|pa_sink_volumebar|pa_sink_description|pa_card_name pa_card_active_profile|pb_battery|pid_chroot|pid_cmdline|pid_cwd|pid_environ|pid_environ_list|pid_exe|pid_nice|pid_openfiles|pid_parent|pid_priority|pid_state|pid_state_short|pid_stderr|pid_stdin|pid_stdout|pid_threads|pid_thread_list|pid_time_kernelmode|pid_time_usermode|pid_time|pid_uid|pid_euid|pid_suid|pid_fsuid|pid_gid|pid_egid|pid_sgid|pid_fsgid|pid_read|pid_vmpeak|pid_vmsize|pid_vmlck|pid_vmhwm|pid_vmrss|pid_vmdata|pid_vmstk|pid_vmexe|pid_vmlib|pid_vmpte|pid_write|platform|pop3_unseen|pop3_used|processes|read_tcp|read_udp|replied_mails|rss|running_processes|running_threads|scroll|seen_mails|shadecolor|sip_status|smapi|smapi_bat_bar|smapi_bat_perc|smapi_bat_power|smapi_bat_temp|sony_fanspeed|stippled_hr|stock|swap|swapbar|swapfree|swapmax|swapperc|sysname|tab|tail|tcp_ping|tcp_portmon|template0|template1|template2|template3|template4|template5|template6|template7|template8|template9|texeci|texecpi|threads|time|to_bytes|top|top_io|top_mem|top_time|totaldown|totalup|trashed_mails|tztime|gid_name|uid_name|unflagged_mails|unforwarded_mails|unreplied_mails|unseen_mails|updates|upspeed|upspeedf|upspeedgraph|uptime|uptime_short|user_names|user_number|user_terms|user_times|user_time|utime|voffset|voltage_mv|voltage_v|weather|wireless_ap|wireless_bitrate|wireless_essid|wireless_link_bar|wireless_link_qual|wireless_link_qual_max|wireless_link_qual_perc|wireless_mode|words|xmms2_album|xmms2_artist|xmms2_bar|xmms2_bitrate|xmms2_comment|xmms2_date|xmms2_duration|xmms2_elapsed|xmms2_genre|xmms2_id|xmms2_percent|xmms2_playlist|xmms2_size|xmms2_smart|xmms2_status|xmms2_timesplayed|xmms2_title|xmms2_tracknr|xmms2_url)\>"
|
color brightblue "\<(acpiacadapter|acpifan|acpitemp|addr|addrs|alignc|alignr|apcupsd|apcupsd_cable|apcupsd_charge|apcupsd_lastxfer|apcupsd_linev|apcupsd_load|apcupsd_loadbar|apcupsd_loadgauge|apcupsd_loadgraph|apcupsd_model|apcupsd_name|apcupsd_status|apcupsd_temp|apcupsd_timeleft|apcupsd_upsmode|apm_adapter|apm_battery_life|apm_battery_time|audacious_bar|audacious_bitrate|audacious_channels|audacious_filename|audacious_frequency|audacious_length|audacious_length_seconds|audacious_main_volume|audacious_playlist_length|audacious_playlist_position|audacious_position|audacious_position_seconds|audacious_status|audacious_title|battery|battery_bar|battery_percent|battery_short|battery_time|blink|buffers|cached|cat|catp|cmdline_to_pid|color|color0|color1|color2|color3|color4|color5|color6|color7|color8|color9|combine|conky_build_arch|conky_build_date|conky_version|cpu|cpubar|cpugauge|cpugraph|curl|desktop|desktop_name|desktop_number|disk_protect|diskio|diskio_read|diskio_write|diskiograph|diskiograph_read|diskiograph_write|distribution|downspeed|downspeedf|downspeedgraph|draft_mails|else|endif|entropy_avail|entropy_bar|entropy_perc|entropy_poolsize|eval|eve|exec|execbar|execgauge|execgraph|execi|execibar|execigauge|execigraph|execp|execpi|flagged_mails|font|font0|font1|font2|font3|font4|font5|font6|font7|font8|font9|format_time|forwarded_mails|freq|freq_g|fs_bar|fs_bar_free|fs_free|fs_free_perc|fs_size|fs_type|fs_used|fs_used_perc|goto|gw_iface|gw_ip|hddtemp|head|hr|hwmon|i2c|i8k_ac_status|i8k_bios|i8k_buttons_status|i8k_cpu_temp|i8k_left_fan_rpm|i8k_left_fan_status|i8k_right_fan_rpm|i8k_right_fan_status|i8k_serial|i8k_version|ibm_brightness|ibm_fan|ibm_temps|ibm_volume|ical|iconv_start|iconv_stop|if_empty|if_existing|if_gw|if_match|if_mixer_mute|if_mounted|if_mpd_playing|if_running|if_smapi_bat_installed|if_up|if_updatenr|if_pa_sink_muted|if_xmms2_connected|image|imap_messages|imap_unseen|ioscheduler|irc|journal|kernel|laptop_mode|lines|loadavg|loadgraph|lua|lua_bar|lua_gauge|lua_graph|lua_parse|machine|mails|mboxscan|mem|memwithbuffers|membar|memwithbuffersbar|memwithbuffersgraph|memeasyfree|memfree|memgauge|memgraph|memmax|memperc|mixer|mixerbar|mixerl|mixerlbar|mixerr|mixerrbar|moc_album|moc_artist|moc_bitrate|moc_curtime|moc_file|moc_rate|moc_song|moc_state|moc_timeleft|moc_title|moc_totaltime|monitor|monitor_number|mpd_album|mpd_artist|mpd_bar|mpd_bitrate|mpd_elapsed|mpd_file|mpd_length|mpd_name|mpd_percent|mpd_random|mpd_repeat|mpd_smart|mpd_status|mpd_title|mpd_track|mpd_vol|mysql|nameserver|new_mails|nodename|nodename_short|no_update|nvidia|obsd_product|obsd_sensors_fan|obsd_sensors_temp|obsd_sensors_volt|obsd_vendor|offset|outlinecolor|pa_sink_volume|pa_sink_volumebar|pa_sink_description|pa_card_name pa_card_active_profile|pb_battery|pid_chroot|pid_cmdline|pid_cwd|pid_environ|pid_environ_list|pid_exe|pid_nice|pid_openfiles|pid_parent|pid_priority|pid_state|pid_state_short|pid_stderr|pid_stdin|pid_stdout|pid_threads|pid_thread_list|pid_time_kernelmode|pid_time_usermode|pid_time|pid_uid|pid_euid|pid_suid|pid_fsuid|pid_gid|pid_egid|pid_sgid|pid_fsgid|pid_read|pid_vmpeak|pid_vmsize|pid_vmlck|pid_vmhwm|pid_vmrss|pid_vmdata|pid_vmstk|pid_vmexe|pid_vmlib|pid_vmpte|pid_write|platform|pop3_unseen|pop3_used|processes|read_tcp|read_udp|replied_mails|rss|running_processes|running_threads|scroll|seen_mails|shadecolor|sip_status|smapi|smapi_bat_bar|smapi_bat_perc|smapi_bat_power|smapi_bat_temp|sony_fanspeed|stippled_hr|stock|swap|swapbar|swapfree|swapmax|swapperc|sysname|tab|tail|tcp_ping|tcp_portmon|template0|template1|template2|template3|template4|template5|template6|template7|template8|template9|texeci|texecpi|threads|time|to_bytes|top|top_io|top_mem|top_time|totaldown|totalup|trashed_mails|tztime|gid_name|uid_name|unflagged_mails|unforwarded_mails|unreplied_mails|unseen_mails|updates|upspeed|upspeedf|upspeedgraph|uptime|uptime_short|user_names|user_number|user_terms|user_times|user_time|utime|voffset|voltage_mv|voltage_v|weather|wireless_ap|wireless_bitrate|wireless_essid|wireless_link_bar|wireless_link_qual|wireless_link_qual_max|wireless_link_qual_perc|wireless_mode|words|xmms2_album|xmms2_artist|xmms2_bar|xmms2_bitrate|xmms2_comment|xmms2_date|xmms2_duration|xmms2_elapsed|xmms2_genre|xmms2_id|xmms2_percent|xmms2_playlist|xmms2_size|xmms2_smart|xmms2_status|xmms2_timesplayed|xmms2_title|xmms2_tracknr|xmms2_url)\>"
|
||||||
|
|
||||||
color brightblue "\$\{?[0-9A-Z_!@#$*?-]+\}?"
|
color brightblue "\$\{?[0-9A-Z_!@#$*?-]+\}?"
|
||||||
color cyan "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
|
color cyan "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
|
||||||
|
@ -50,7 +50,7 @@ syn region ConkyrcVar start=/\$\w\@=/ end=/\W\@=\|$/ contained contains=ConkyrcV
|
|||||||
|
|
||||||
syn match ConkyrcVarStuff /{\@<=/ms=s contained nextgroup=ConkyrcVarName
|
syn match ConkyrcVarStuff /{\@<=/ms=s contained nextgroup=ConkyrcVarName
|
||||||
|
|
||||||
syn keyword ConkyrcVarName contained nextgroup=ConkyrcNumber,ConkyrcColour skipwhite acpiacadapter acpifan acpitemp addr addrs alignc alignr apcupsd apcupsd_cable apcupsd_charge apcupsd_lastxfer apcupsd_linev apcupsd_load apcupsd_loadbar apcupsd_loadgauge apcupsd_loadgraph apcupsd_model apcupsd_name apcupsd_status apcupsd_temp apcupsd_timeleft apcupsd_upsmode apm_adapter apm_battery_life apm_battery_time audacious_bar audacious_bitrate audacious_channels audacious_filename audacious_frequency audacious_length audacious_length_seconds audacious_main_volume audacious_playlist_length audacious_playlist_position audacious_position audacious_position_seconds audacious_status audacious_title battery battery_bar battery_percent battery_short battery_time blink bmpx_album bmpx_artist bmpx_bitrate bmpx_title bmpx_track bmpx_uri buffers cached cat catp cmdline_to_pid color color0 color1 color2 color3 color4 color5 color6 color7 color8 color9 combine conky_build_arch conky_build_date conky_version cpu cpubar cpugauge cpugraph curl desktop desktop_name desktop_number disk_protect diskio diskio_read diskio_write diskiograph diskiograph_read diskiograph_write distribution downspeed downspeedf downspeedgraph draft_mails else endif entropy_avail entropy_bar entropy_perc entropy_poolsize eval eve exec execbar execgauge execgraph execi execibar execigauge execigraph execp execpi flagged_mails font font0 font1 font2 font3 font4 font5 font6 font7 font8 font9 format_time forwarded_mails freq freq_g fs_bar fs_bar_free fs_free fs_free_perc fs_size fs_type fs_used fs_used_perc goto gw_iface gw_ip hddtemp head hr hwmon i2c i8k_ac_status i8k_bios i8k_buttons_status i8k_cpu_temp i8k_left_fan_rpm i8k_left_fan_status i8k_right_fan_rpm i8k_right_fan_status i8k_serial i8k_version ibm_brightness ibm_fan ibm_temps ibm_volume ical iconv_start iconv_stop if_pa_sink_muted if_empty if_existing if_gw if_match if_mixer_mute if_mounted if_mpd_playing if_running if_smapi_bat_installed if_up if_updatenr if_xmms2_connected image imap_messages imap_unseen ioscheduler irc journal kernel laptop_mode lines loadavg loadgraph lua lua_bar lua_gauge lua_graph lua_parse machine mails mboxscan mem memwithbuffers membar memwithbuffersbar memwithbuffersgraph memeasyfree memfree memgauge memgraph memmax memperc mixer mixerbar mixerl mixerlbar mixerr mixerrbar moc_album moc_artist moc_bitrate moc_curtime moc_file moc_rate moc_song moc_state moc_timeleft moc_title moc_totaltime monitor monitor_number mpd_album mpd_artist mpd_bar mpd_bitrate mpd_elapsed mpd_file mpd_length mpd_name mpd_percent mpd_random mpd_repeat mpd_smart mpd_status mpd_title mpd_track mpd_vol mysql nameserver new_mails nodename nodename_short no_update nvidia obsd_product obsd_sensors_fan obsd_sensors_temp obsd_sensors_volt obsd_vendor offset outlinecolor pa_sink_volume pa_sink_volumebar pa_sink_description pa_card_name pa_card_active_profile pb_battery pid_chroot pid_cmdline pid_cwd pid_environ pid_environ_list pid_exe pid_nice pid_openfiles pid_parent pid_priority pid_state pid_state_short pid_stderr pid_stdin pid_stdout pid_threads pid_thread_list pid_time_kernelmode pid_time_usermode pid_time pid_uid pid_euid pid_suid pid_fsuid pid_gid pid_egid pid_sgid pid_fsgid pid_read pid_vmpeak pid_vmsize pid_vmlck pid_vmhwm pid_vmrss pid_vmdata pid_vmstk pid_vmexe pid_vmlib pid_vmpte pid_write platform pop3_unseen pop3_used processes read_tcp read_udp replied_mails rss running_processes running_threads scroll seen_mails shadecolor sip_status smapi smapi_bat_bar smapi_bat_perc smapi_bat_power smapi_bat_temp sony_fanspeed stippled_hr stock swap swapbar swapfree swapmax swapperc sysname tab tail tcp_ping tcp_portmon template0 template1 template2 template3 template4 template5 template6 template7 template8 template9 texeci texecpi threads time to_bytes top top_io top_mem top_time totaldown totalup trashed_mails tztime gid_name uid_name unflagged_mails unforwarded_mails unreplied_mails unseen_mails updates upspeed upspeedf upspeedgraph uptime uptime_short user_names user_number user_terms user_times user_time utime voffset voltage_mv voltage_v weather wireless_ap wireless_bitrate wireless_essid wireless_link_bar wireless_link_qual wireless_link_qual_max wireless_link_qual_perc wireless_mode words xmms2_album xmms2_artist xmms2_bar xmms2_bitrate xmms2_comment xmms2_date xmms2_duration xmms2_elapsed xmms2_genre xmms2_id xmms2_percent xmms2_playlist xmms2_size xmms2_smart xmms2_status xmms2_timesplayed xmms2_title xmms2_tracknr xmms2_url
|
syn keyword ConkyrcVarName contained nextgroup=ConkyrcNumber,ConkyrcColour skipwhite acpiacadapter acpifan acpitemp addr addrs alignc alignr apcupsd apcupsd_cable apcupsd_charge apcupsd_lastxfer apcupsd_linev apcupsd_load apcupsd_loadbar apcupsd_loadgauge apcupsd_loadgraph apcupsd_model apcupsd_name apcupsd_status apcupsd_temp apcupsd_timeleft apcupsd_upsmode apm_adapter apm_battery_life apm_battery_time audacious_bar audacious_bitrate audacious_channels audacious_filename audacious_frequency audacious_length audacious_length_seconds audacious_main_volume audacious_playlist_length audacious_playlist_position audacious_position audacious_position_seconds audacious_status audacious_title battery battery_bar battery_percent battery_short battery_time blink buffers cached cat catp cmdline_to_pid color color0 color1 color2 color3 color4 color5 color6 color7 color8 color9 combine conky_build_arch conky_build_date conky_version cpu cpubar cpugauge cpugraph curl desktop desktop_name desktop_number disk_protect diskio diskio_read diskio_write diskiograph diskiograph_read diskiograph_write distribution downspeed downspeedf downspeedgraph draft_mails else endif entropy_avail entropy_bar entropy_perc entropy_poolsize eval eve exec execbar execgauge execgraph execi execibar execigauge execigraph execp execpi flagged_mails font font0 font1 font2 font3 font4 font5 font6 font7 font8 font9 format_time forwarded_mails freq freq_g fs_bar fs_bar_free fs_free fs_free_perc fs_size fs_type fs_used fs_used_perc goto gw_iface gw_ip hddtemp head hr hwmon i2c i8k_ac_status i8k_bios i8k_buttons_status i8k_cpu_temp i8k_left_fan_rpm i8k_left_fan_status i8k_right_fan_rpm i8k_right_fan_status i8k_serial i8k_version ibm_brightness ibm_fan ibm_temps ibm_volume ical iconv_start iconv_stop if_pa_sink_muted if_empty if_existing if_gw if_match if_mixer_mute if_mounted if_mpd_playing if_running if_smapi_bat_installed if_up if_updatenr if_xmms2_connected image imap_messages imap_unseen ioscheduler irc journal kernel laptop_mode lines loadavg loadgraph lua lua_bar lua_gauge lua_graph lua_parse machine mails mboxscan mem memwithbuffers membar memwithbuffersbar memwithbuffersgraph memeasyfree memfree memgauge memgraph memmax memperc mixer mixerbar mixerl mixerlbar mixerr mixerrbar moc_album moc_artist moc_bitrate moc_curtime moc_file moc_rate moc_song moc_state moc_timeleft moc_title moc_totaltime monitor monitor_number mpd_album mpd_artist mpd_bar mpd_bitrate mpd_elapsed mpd_file mpd_length mpd_name mpd_percent mpd_random mpd_repeat mpd_smart mpd_status mpd_title mpd_track mpd_vol mysql nameserver new_mails nodename nodename_short no_update nvidia obsd_product obsd_sensors_fan obsd_sensors_temp obsd_sensors_volt obsd_vendor offset outlinecolor pa_sink_volume pa_sink_volumebar pa_sink_description pa_card_name pa_card_active_profile pb_battery pid_chroot pid_cmdline pid_cwd pid_environ pid_environ_list pid_exe pid_nice pid_openfiles pid_parent pid_priority pid_state pid_state_short pid_stderr pid_stdin pid_stdout pid_threads pid_thread_list pid_time_kernelmode pid_time_usermode pid_time pid_uid pid_euid pid_suid pid_fsuid pid_gid pid_egid pid_sgid pid_fsgid pid_read pid_vmpeak pid_vmsize pid_vmlck pid_vmhwm pid_vmrss pid_vmdata pid_vmstk pid_vmexe pid_vmlib pid_vmpte pid_write platform pop3_unseen pop3_used processes read_tcp read_udp replied_mails rss running_processes running_threads scroll seen_mails shadecolor sip_status smapi smapi_bat_bar smapi_bat_perc smapi_bat_power smapi_bat_temp sony_fanspeed stippled_hr stock swap swapbar swapfree swapmax swapperc sysname tab tail tcp_ping tcp_portmon template0 template1 template2 template3 template4 template5 template6 template7 template8 template9 texeci texecpi threads time to_bytes top top_io top_mem top_time totaldown totalup trashed_mails tztime gid_name uid_name unflagged_mails unforwarded_mails unreplied_mails unseen_mails updates upspeed upspeedf upspeedgraph uptime uptime_short user_names user_number user_terms user_times user_time utime voffset voltage_mv voltage_v weather wireless_ap wireless_bitrate wireless_essid wireless_link_bar wireless_link_qual wireless_link_qual_max wireless_link_qual_perc wireless_mode words xmms2_album xmms2_artist xmms2_bar xmms2_bitrate xmms2_comment xmms2_date xmms2_duration xmms2_elapsed xmms2_genre xmms2_id xmms2_percent xmms2_playlist xmms2_size xmms2_smart xmms2_status xmms2_timesplayed xmms2_title xmms2_tracknr xmms2_url
|
||||||
|
|
||||||
hi def link ConkyrcComment Comment
|
hi def link ConkyrcComment Comment
|
||||||
hi def link ConkyrcSetting Keyword
|
hi def link ConkyrcSetting Keyword
|
||||||
|
@ -170,11 +170,6 @@ if(BUILD_AUDACIOUS)
|
|||||||
set(optional_sources ${optional_sources} ${audacious})
|
set(optional_sources ${optional_sources} ${audacious})
|
||||||
endif(BUILD_AUDACIOUS)
|
endif(BUILD_AUDACIOUS)
|
||||||
|
|
||||||
if(BUILD_BMPX)
|
|
||||||
set(bmpx bmpx.cc bmpx.h)
|
|
||||||
set(optional_sources ${optional_sources} ${bmpx})
|
|
||||||
endif(BUILD_BMPX)
|
|
||||||
|
|
||||||
if(BUILD_IBM)
|
if(BUILD_IBM)
|
||||||
set(ibm ibm.cc ibm.h smapi.cc smapi.h)
|
set(ibm ibm.cc ibm.h smapi.cc smapi.h)
|
||||||
set(optional_sources ${optional_sources} ${ibm})
|
set(optional_sources ${optional_sources} ${ibm})
|
||||||
|
150
src/bmpx.cc
150
src/bmpx.cc
@ -1,150 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Conky, a system monitor, based on torsmo
|
|
||||||
*
|
|
||||||
* Any original torsmo code is licensed under the BSD license
|
|
||||||
*
|
|
||||||
* All code written since the fork of torsmo is licensed under the GPL
|
|
||||||
*
|
|
||||||
* Please see COPYING for details
|
|
||||||
*
|
|
||||||
* Copyright (c) 2005-2018 Brenden Matthews, Philip Kovacs, et. al.
|
|
||||||
* (see AUTHORS)
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
#include "conky.h"
|
|
||||||
#include "logging.h"
|
|
||||||
|
|
||||||
#include <dbus/dbus-glib.h>
|
|
||||||
#include <bmp/dbus.hh>
|
|
||||||
|
|
||||||
#define DBUS_TYPE_G_STRING_VALUE_HASHTABLE \
|
|
||||||
(dbus_g_type_get_map("GHashTable", G_TYPE_STRING, G_TYPE_VALUE))
|
|
||||||
|
|
||||||
static DBusGConnection *bus;
|
|
||||||
static DBusGProxy *remote_object;
|
|
||||||
static int connected = 0;
|
|
||||||
static char *unknown = "unknown";
|
|
||||||
|
|
||||||
void fail(GError *error, struct information *);
|
|
||||||
|
|
||||||
void update_bmpx() {
|
|
||||||
GError *error = nullptr;
|
|
||||||
struct information *current_info = &info;
|
|
||||||
gint current_track;
|
|
||||||
GHashTable *metadata;
|
|
||||||
|
|
||||||
if (connected == 0) {
|
|
||||||
dbus_g_type_specialized_init();
|
|
||||||
|
|
||||||
bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
|
|
||||||
if (bus == nullptr) {
|
|
||||||
NORM_ERR("BMPx error 1: %s\n", error->message);
|
|
||||||
fail(error, current_info);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
remote_object = dbus_g_proxy_new_for_name(
|
|
||||||
bus, BMP_DBUS_SERVICE, BMP_DBUS_PATH__BMP, BMP_DBUS_INTERFACE__BMP);
|
|
||||||
if (!remote_object) {
|
|
||||||
NORM_ERR("BMPx error 2: %s\n", error->message);
|
|
||||||
fail(error, current_info);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
connected = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (connected == 1) {
|
|
||||||
if (dbus_g_proxy_call(remote_object, "GetCurrentTrack", &error,
|
|
||||||
G_TYPE_INVALID, G_TYPE_INT, ¤t_track,
|
|
||||||
G_TYPE_INVALID)) {
|
|
||||||
} else {
|
|
||||||
NORM_ERR("BMPx error 3: %s\n", error->message);
|
|
||||||
fail(error, current_info);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dbus_g_proxy_call(remote_object, "GetMetadataForListItem", &error,
|
|
||||||
G_TYPE_INT, current_track, G_TYPE_INVALID,
|
|
||||||
DBUS_TYPE_G_STRING_VALUE_HASHTABLE, &metadata,
|
|
||||||
G_TYPE_INVALID)) {
|
|
||||||
free_and_zero(current_info->bmpx.title);
|
|
||||||
free_and_zero(current_info->bmpx.artist);
|
|
||||||
free_and_zero(current_info->bmpx.album);
|
|
||||||
current_info->bmpx.title =
|
|
||||||
g_value_dup_string(g_hash_table_lookup(metadata, "title"));
|
|
||||||
current_info->bmpx.artist =
|
|
||||||
g_value_dup_string(g_hash_table_lookup(metadata, "artist"));
|
|
||||||
current_info->bmpx.album =
|
|
||||||
g_value_dup_string(g_hash_table_lookup(metadata, "album"));
|
|
||||||
current_info->bmpx.bitrate =
|
|
||||||
g_value_get_int(g_hash_table_lookup(metadata, "bitrate"));
|
|
||||||
current_info->bmpx.track =
|
|
||||||
g_value_get_int(g_hash_table_lookup(metadata, "track-number"));
|
|
||||||
current_info->bmpx.uri =
|
|
||||||
g_value_get_string(g_hash_table_lookup(metadata, "location"));
|
|
||||||
} else {
|
|
||||||
NORM_ERR("BMPx error 4: %s\n", error->message);
|
|
||||||
fail(error, current_info);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_hash_table_destroy(metadata);
|
|
||||||
} else {
|
|
||||||
fail(error, current_info);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void fail(GError *error, struct information *current_info) {
|
|
||||||
if (error) {
|
|
||||||
g_error_free(error);
|
|
||||||
}
|
|
||||||
if (current_info->bmpx.title) {
|
|
||||||
g_free(current_info->bmpx.title);
|
|
||||||
current_info->bmpx.title = 0;
|
|
||||||
}
|
|
||||||
if (current_info->bmpx.artist) {
|
|
||||||
g_free(current_info->bmpx.artist);
|
|
||||||
current_info->bmpx.artist = 0;
|
|
||||||
}
|
|
||||||
if (current_info->bmpx.album) {
|
|
||||||
g_free(current_info->bmpx.album);
|
|
||||||
current_info->bmpx.album = 0;
|
|
||||||
}
|
|
||||||
current_info->bmpx.title = unknown;
|
|
||||||
current_info->bmpx.artist = unknown;
|
|
||||||
current_info->bmpx.album = unknown;
|
|
||||||
current_info->bmpx.bitrate = 0;
|
|
||||||
current_info->bmpx.track = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define BMPX_PRINT_GENERATOR(name, fmt) \
|
|
||||||
void print_bmpx_##name(struct text_object *obj, char *p, int p_max_size) { \
|
|
||||||
(void)obj; \
|
|
||||||
snprintf(p, p_max_size, fmt, info.bmpx.name); \
|
|
||||||
}
|
|
||||||
|
|
||||||
BMPX_PRINT_GENERATOR(title, "%s")
|
|
||||||
BMPX_PRINT_GENERATOR(artist, "%s")
|
|
||||||
BMPX_PRINT_GENERATOR(album, "%s")
|
|
||||||
BMPX_PRINT_GENERATOR(uri, "%s")
|
|
||||||
BMPX_PRINT_GENERATOR(track, "%i")
|
|
||||||
BMPX_PRINT_GENERATOR(bitrate, "%i")
|
|
||||||
|
|
||||||
#undef BMPX_PRINT_GENERATOR
|
|
45
src/bmpx.h
45
src/bmpx.h
@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Conky, a system monitor, based on torsmo
|
|
||||||
*
|
|
||||||
* Please see COPYING for details
|
|
||||||
*
|
|
||||||
* Copyright (c) 2005-2018 Brenden Matthews, Philip Kovacs, et. al.
|
|
||||||
* (see AUTHORS)
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef BMPX_H_
|
|
||||||
#define BMPX_H_
|
|
||||||
|
|
||||||
void update_bmpx(void);
|
|
||||||
struct bmpx_s {
|
|
||||||
char *title;
|
|
||||||
char *artist;
|
|
||||||
char *album;
|
|
||||||
char *uri;
|
|
||||||
int bitrate;
|
|
||||||
int track;
|
|
||||||
};
|
|
||||||
|
|
||||||
void print_bmpx_title(struct text_object *, char *, int);
|
|
||||||
void print_bmpx_artist(struct text_object *, char *, int);
|
|
||||||
void print_bmpx_album(struct text_object *, char *, int);
|
|
||||||
void print_bmpx_uri(struct text_object *, char *, int);
|
|
||||||
void print_bmpx_track(struct text_object *, char *, int);
|
|
||||||
void print_bmpx_bitrate(struct text_object *, char *, int);
|
|
||||||
|
|
||||||
#endif /*BMPX_H_*/
|
|
@ -70,10 +70,6 @@ char *strndup(const char *s, size_t n);
|
|||||||
/* forward define to make gcc happy */
|
/* forward define to make gcc happy */
|
||||||
struct text_object;
|
struct text_object;
|
||||||
|
|
||||||
#ifdef BUILD_BMPX
|
|
||||||
#include "bmpx.h"
|
|
||||||
#endif /* BUILD_BMPX */
|
|
||||||
|
|
||||||
#ifdef BUILD_HDDTEMP
|
#ifdef BUILD_HDDTEMP
|
||||||
#include "hddtemp.h"
|
#include "hddtemp.h"
|
||||||
#endif /* BUILD_HDDTEMP */
|
#endif /* BUILD_HDDTEMP */
|
||||||
@ -188,9 +184,6 @@ struct information {
|
|||||||
#ifdef BUILD_XMMS2
|
#ifdef BUILD_XMMS2
|
||||||
struct xmms2_s xmms2;
|
struct xmms2_s xmms2;
|
||||||
#endif /* BUILD_XMMS2 */
|
#endif /* BUILD_XMMS2 */
|
||||||
#ifdef BUILD_BMPX
|
|
||||||
struct bmpx_s bmpx;
|
|
||||||
#endif /* BUILD_BMPX */
|
|
||||||
struct usr_info users;
|
struct usr_info users;
|
||||||
struct process *cpu[10];
|
struct process *cpu[10];
|
||||||
struct process *memu[10];
|
struct process *memu[10];
|
||||||
|
@ -1717,15 +1717,6 @@ struct text_object *construct_text_object(char *s, const char *arg, long line,
|
|||||||
END OBJ(audacious_bar, 0) scan_bar(obj, arg, 1);
|
END OBJ(audacious_bar, 0) scan_bar(obj, arg, 1);
|
||||||
obj->callbacks.barval = &audacious_barval;
|
obj->callbacks.barval = &audacious_barval;
|
||||||
#endif /* BUILD_AUDACIOUS */
|
#endif /* BUILD_AUDACIOUS */
|
||||||
#ifdef BUIL_BMPX
|
|
||||||
END OBJ(bmpx_title, &update_bmpx) obj->callbacks.print = &print_bmpx_title;
|
|
||||||
END OBJ(bmpx_artist, &update_bmpx) obj->callbacks.print = &print_bmpx_artist;
|
|
||||||
END OBJ(bmpx_album, &update_bmpx) obj->callbacks.print = &print_bmpx_album;
|
|
||||||
END OBJ(bmpx_track, &update_bmpx) obj->callbacks.print = &print_bmpx_track;
|
|
||||||
END OBJ(bmpx_uri, &update_bmpx) obj->callbacks.print = &print_bmpx_uri;
|
|
||||||
END OBJ(bmpx_bitrate, &update_bmpx) obj->callbacks.print =
|
|
||||||
&print_bmpx_bitrate;
|
|
||||||
#endif /* BUILD_BMPX */
|
|
||||||
#ifdef BUILD_CURL
|
#ifdef BUILD_CURL
|
||||||
END OBJ_ARG(curl, 0, "curl needs arguments: <uri> <interval in minutes>")
|
END OBJ_ARG(curl, 0, "curl needs arguments: <uri> <interval in minutes>")
|
||||||
curl_parse_arg(obj, arg);
|
curl_parse_arg(obj, arg);
|
||||||
|
@ -177,16 +177,13 @@ static void print_version() {
|
|||||||
<< _(" * Own window\n")
|
<< _(" * Own window\n")
|
||||||
#endif
|
#endif
|
||||||
#endif /* BUILD_X11 */
|
#endif /* BUILD_X11 */
|
||||||
#if defined BUILD_AUDACIOUS || defined BUILD_BMPX || defined BUILD_CMUS || \
|
#if defined BUILD_AUDACIOUS || defined BUILD_CMUS || \
|
||||||
defined BUILD_MPD || defined BUILD_MOC || defined BUILD_XMMS2
|
defined BUILD_MPD || defined BUILD_MOC || defined BUILD_XMMS2
|
||||||
<< _("\n Music detection:\n")
|
<< _("\n Music detection:\n")
|
||||||
#endif
|
#endif
|
||||||
#ifdef BUILD_AUDACIOUS
|
#ifdef BUILD_AUDACIOUS
|
||||||
<< _(" * Audacious\n")
|
<< _(" * Audacious\n")
|
||||||
#endif /* BUILD_AUDACIOUS */
|
#endif /* BUILD_AUDACIOUS */
|
||||||
#ifdef BUILD_BMPX
|
|
||||||
<< _(" * BMPx\n")
|
|
||||||
#endif /* BUILD_BMPX */
|
|
||||||
#ifdef BUILD_CMUS
|
#ifdef BUILD_CMUS
|
||||||
<< _(" * CMUS\n")
|
<< _(" * CMUS\n")
|
||||||
#endif /* BUILD_CMUS */
|
#endif /* BUILD_CMUS */
|
||||||
|
Loading…
Reference in New Issue
Block a user