Use utf8-aware truncating

This commit is contained in:
Thomas Avé 2022-07-21 15:51:05 +02:00
parent b7b4b6409e
commit e88823c6f6
2 changed files with 5 additions and 6 deletions

View File

@ -14,10 +14,8 @@ local awful = require("awful")
local beautiful = require("beautiful")
local wibox = require("wibox")
local theme = require("theme")
local gears = require("gears")
local lain = require("lain")
local dpi = beautiful.xresources.apply_dpi
local mycpufreq = require("widgets/cpufreq")
-- import widgets
local task_list = require("widgets.task-list")
@ -86,10 +84,10 @@ top_panel.create = function(s)
wibox.widget.textbox(' | '),
awful.widget.watch('bash -c "/usr/bin/cat /proc/cpuinfo | grep MHz | cut -b 12- | sort -r | head -n 1 | xargs printf \'%f / 1000\n\' | bc -l | cut -b -4"', 1),
wibox.widget.textbox('GHz | '),
awful.widget.watch('bash -c "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"', 1),
wibox.widget.textbox(' | '),
awful.widget.watch('bash -c "sensors | grep Tctl | cut -f 10 -d \' \' | cut -c 2-"', 5),
wibox.widget.textbox(' | '),
awful.widget.watch('bash -c "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"', 5),
wibox.widget.textbox(' | '),
wibox.layout.margin(require("widgets.layout-box"), dpi(5), dpi(5), dpi(5), dpi(5)),
}
}

View File

@ -13,6 +13,7 @@
local awful = require('awful')
local wibox = require('wibox')
local gears = require('gears')
local utf8 = require("utf8")
local clickable_container = require('widgets.clickable-container')
local dpi = require('beautiful').xresources.apply_dpi
@ -126,8 +127,8 @@ local function list_update(w, buttons, label, data, objects)
-- truncate when title is too long
local text_only = text:match('>(.*)<')
if (text_only:len() > 25) then
text = text:gsub('>(.*)<', '>' .. text_only:sub(1, 25) .. '...<')
tt:set_text(text_only)
text = text:gsub('>(.*)<', '>' .. utf8.char(utf8.codepoint(text_only, 1, 25)) .. '...<')
tt:set_text(text)
tt:add_to_object(tb)
else
tt:remove_from_object(tb)