const char defconfig[] = "-- Определяем функцию для получения фактора масштабирования окна\n" "function get_window_scaling_factor()\n" " -- Определяем текущего пользователя\n" " local user_handle = io.popen(\"whoami\")\n" " local current_user = user_handle:read(\"*a\"):gsub(\"%s+\", \"\") -- Удаляем пробелы и символы новой строки\n" " user_handle:close()\n" "\n" " local scale_factor\n" "\n" " if current_user == \"root\" then\n" " -- Если текущий пользователь root, определяем пользователя, который запустил X-сессию\n" " local session_user_handle = io.popen(\"who | grep '(:0)' | awk '{print $1}'\")\n" " local session_user = session_user_handle:read(\"*a\"):gsub(\"%s+\", \"\") -- Удаляем пробелы и символы новой строки\n" " session_user_handle:close()\n" "\n" " -- Если не удалось определить пользователя, возвращаем масштаб по умолчанию\n" " if not session_user or session_user == \"\" then return 1 end\n" "\n" " -- Выполняем команду от имени этого пользователя\n" " local command = string.format(\"sudo -u %s xfconf-query -c xsettings -p /Gdk/WindowScalingFactor\", session_user)\n" " local handle = io.popen(command)\n" " scale_factor = tonumber(handle:read(\"*a\"))\n" " handle:close()\n" " else\n" " -- Если текущий пользователь не root, просто получаем масштабирование\n" " local handle = io.popen(\"xfconf-query -c xsettings -p /Gdk/WindowScalingFactor\")\n" " scale_factor = tonumber(handle:read(\"*a\"))\n" " handle:close()\n" " end\n" "\n" " return scale_factor or 1\n" "end\n" "\n" "-- Получаем текущий фактор масштаба окон\n" "local scale_factor = get_window_scaling_factor()\n" "\n" "-- Применяем масштаб к шрифту и элементам интерфейса\n" "conky.config = {\n" " update_interval = 1,\n" " cpu_avg_samples = 2,\n" " net_avg_samples = 2,\n" " out_to_console = false,\n" " override_utf8_locale = true,\n" " double_buffer = true,\n" " no_buffers = true,\n" " text_buffer_size = 32768,\n" " imlib_cache_size = 0,\n" " own_window = true,\n" " own_window_type = 'desktop',\n" " own_window_argb_value = 200,\n" " own_window_argb_visual = true,\n" " own_window_transparent = false,\n" " own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager', -- Новая строка для предотвращения скрытия\n" " border_inner_margin = 15 * scale_factor,\n" " border_outer_margin = 0 * scale_factor,\n" " xinerama_head = 1,\n" " alignment = 'bottom_right',\n" " gap_x = 80 * scale_factor,\n" " gap_y = 80 * scale_factor,\n" " draw_shades = false,\n" " draw_outline = false,\n" " draw_borders = false,\n" " draw_graph_borders = false,\n" " use_xft = true,\n" " font = string.format('Comfortaa:size=%d', 12 * scale_factor),\n" " xftalpha = 0.8,\n" " uppercase = false,\n" " default_color = 'white',\n" " own_window_colour = '003333',\n" " minimum_width = 300 * scale_factor, minimum_height = 0,\n" " alignment = 'top_right',\n" " color1 = '000000',\n" " stippled_border = 100 * scale_factor,\n" "};\n" "\n" "-- Variables: https://conky.cc/variables\n" "conky.text = string.format([[\n" " \n" "${voffset -10}\n" "${font Comfortaa:bold:size=%d}Система ${hr 2}\n" "${font Comfortaa:normal:size=%d}Пользователь:${alignr}${USER}\n" "Система:${alignr}${font Comfortaa:normal:size=%d}$sysname $kernel \n" "Хост:$alignr$nodename\n" "Время работы:$alignr$uptime\n" "Процессы: $alignr ${execi 1000 ps aux | wc -l}\n" "\n" "${font Comfortaa:bold:size=%d}Процессор ${hr 2}\n" "${font Comfortaa:normal:size=%d}${execi 1000 grep model /proc/cpuinfo | cut -d : -f2 | tail -1 | sed 's/\\\\s//'}${voffset 5}\n" "Нагрузка: ${cpu cpu1}%% ${cpubar cpu1}${voffset 5}\n" "Температура: ${acpitemp}°С\n" "\n" "${font Comfortaa:bold:size=%d}Память ${hr 2}\n" "${font Comfortaa:normal:size=%d}Оперативная память $alignc $mem / $memmax $alignr $memperc%%${voffset 5}\n" "Файлы подкачки $alignc ${swap} / ${swapmax} $alignr ${swapperc}%%\n" "\n" "${font Comfortaa:bold:size=%d}Диск ${hr 2}\n" "${font Comfortaa:normal:size=%d}/ $alignc ${fs_used /} / ${fs_size /} $alignr ${fs_used_perc /}%%\n" "${fs_bar /}\n" "\n" "${font Ubuntu:bold:size=%d}Сеть ${hr 2}\n" "${font Comfortaa:normal:size=%d}Локальный IP:${alignr}Внешний IP:\n" "${execi 1000 ip a | grep inet | grep -vw lo | grep -v inet6 | cut -d \\\\/ -f1 | sed 's/[^0-9\\\\.]*//g'} ${alignr}${execi 1000 wget -q -O- http://ipecho.net/plain; echo}\n" "${font Comfortaa:normal:size=%d}Down: ${downspeed enp0s3} ${alignr}Up: ${upspeed enp0s3} \n" "]], 10 * scale_factor, 8 * scale_factor, 8 * scale_factor, 10 * scale_factor, 8 * scale_factor, 10 * scale_factor, 8 * scale_factor, 10 * scale_factor, 8 * scale_factor, 10 * scale_factor, 8 * scale_factor, 10 * scale_factor, 8 * scale_factor, 10 * scale_factor, 8 * scale_factor, 10 * scale_factor)\n";