You are not logged in.

#151 2017-06-20 03:15:13

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

kafran wrote:
o9000 wrote:

You haven't convinced me why the other options are not good enough for you.

https://www.dropbox.com/s/awtcly8qss6xt … -35-22.png

Well, I'm using tint2 on a 10.1"/1024x600 netbook. So, as you can see I have few screen space, but I like to use two desktops. If the desktop 2 could be hide and only expands when active, I think it would be a great feature. I hope someone buy the idea and implement it ^^.


Thank you for your great job with tint2.

I'm testing a new config option taskbar_hide_different_desktop, if you can compile from source it would be great to get some feedback. I don't like how the buttons change position on desktop switch, however.  It would make more sense to show all desktop names together, but that is a very difficult change. Given how messy the taskbar code is, that's probably not going to happen.

So now I am thinking, keep it like this? Or revert it?

Opinions?

Offline

#152 2017-08-31 19:22:29

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

Some info on performance metrics for tint2.

I think someone (maybe ohnonot?) asked me about how the performance of tint2 has evolved since 0.11, given that new features were added.

For this I implemented support for measuring the framerate (FPS) achieved by the panel (which I define as 1/d where d is the duration of an event loop in seconds; for example, if it takes 20 milliseconds to process events and draw the panel on screen, the framerate is 1/0.020 = 50 frames/second).

To print this for every frame, you have to set the enviroment variable DEBUG_FPS=1, i.e. run tint2 like this:

DEBUG_FPS=1 tint2

which leads to seeing a bunch of lines like this in the output:

frame 2: fps = 72 (low 38, med 38, high 80, samples 2) : processing 0%, rendering 100%, flushing 0%

I backported this to all major versions starting from 0.11.

This is used by a script that runs the panel for a few times with various configs in a virtual X server (Xvfb). The workload is quite simple, consisting for now of a script that keeps starting and stopping gnome-calculator and adding/removing/switching desktops randomly.

In addition to the minimum FPS achieved (i.e. the slowest frame), the script also reports the amount of memory used (RSS) and any memory leaks that have been detected.

The reports are here:

* master
* 0.14
* 0.13
* 0.12
* 0.11

Please keep in mind that memory use is a little noisy (if you run tint2 a few times you'd get slightly different values, since each time it might process events in a different order, leading to a different pattern of allocations/deallocations); I think up to 1 MB of variation is normal.

There is no significant difference in memory use between the 5 versions tested.

Regarding the minimum FPS, the values are *very* noisy. When running the same test multiple times, I've seen some results in tens, some in the hundreds. I think that multiple runs should be used to determine them more accurately. Anyways, here are the raw values side by side:

0.11    master (higher is better)
77.0    136.0  (test doesn't count since the config uses executors)
155.0   63.0   worse
139.0   448.0  
157.0   92.0   worse
168.0   125.0  worse
412.0   62.0   worse
193.0   127.0  worse
399.0   270.0  worse
505.0   102.0  worse
260.0   268.0
103.0   80.0   worse
204.0   178.0  worse
167.0   355.0
154.0   304.0

So for 4 out of 13 tests, the latest code is faster than 0.11; for the rest it is slower.

IMHO these results are inconsistent enough that there is probably no significant performance difference.

From black-box measurements like this it's hard to draw conclusions regarding to what might be better or worse (unless there is a clear, consistent difference that suggests a regression or an optimization).

For this reason, I've also implemented tracing support. This means that the code monitors itself and records exactly how much each operation took. Every time it sees a slow frame (under 60 frames/s), it prints the record to the terminal; otherwise it ignores it.

I've documented how it works and how the result should be interpreted here: https://gitlab.com/o9000/tint2/wikis/Tracing

I've played with it only this evening, but it already showed some interesting results. Two operations that consistently take more time (a few milliseconds) than everything else are:

* Launching an executor. Probably fork() is slow.
* Computing text size when panel elements are redrawn or resized. Unfortunately this code talks to the X server and also makes calls to the Cairo and Pango libraries, so it's not so easy to figure out what exactly is slow about it without some work -- and there is little room for optimizations.

I should point out that tracing by itself may make the code slower; and so does memory leak checking. Ironically this might be what made fork() slow in the above case. By the way, this functionality must be enabled explicitly at compile time and requires a debug build, the code is not present in packaged versions.

The DEBUG_FPS option is always enabled (but turned off by default), so you can try it if you wish.

Last edited by o9000 (2017-08-31 19:28:26)

Offline

#153 2017-09-02 13:25:24

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

I released 15.0.

The version numbering scheme has changed, as described here https://gitlab.com/o9000/tint2/blob/15.0/ChangeLog

This release is a bit bigger than what I'd like, with bugfixes, new features, and also some tidying up of the code. Seems to work fine on my machine (TM), and there has been no negative feedback from the guys running tint2-git over at Arch, so here we go.

Offline

#154 2017-09-02 13:44:03

damo
....moderator....
Registered: 2015-08-20
Posts: 4,169

Re: tint2 16.2 released :)

git checkout 15.0, compiled, runs fine so far smile


Be Excellent to Each Other...

FORUM RULES and posting guidelines «» Help page for forum post formatting
Artwork on DeviantArt  «» BunsenLabs on DeviantArt

Offline

#155 2017-09-02 14:11:29

brontosaurusrex
Middle Office
Registered: 2015-09-29
Posts: 1,514

Re: tint2 16.2 released :)

So taskbar_hide_different_desktop hides icons on other desktops? Did you consider a fancier version of mini-me switcher (Such that represents windows on desktops). In that case taskbar_mode = single_desktop still has mice-switchers and it's a lot more useful.

taskbar_mode = multi_desktop
1...........................|2...........................| 1 | 2 |
taskbar_mode = single_desktop
1........................................................| 1 | 2 |

( My non-fancy try was using executor and some ascii art < only illustrating active desktop
https://raw.githubusercontent.com/bront … in/deskSpy )
p.s. Idea stolen from https://gitlab.com/o9000/tint2/blob/mas … -with-text obviously.

Last edited by brontosaurusrex (2017-09-02 14:28:23)

Offline

#156 2017-09-02 15:33:53

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

I did consider it, but due to time constraints and the fact that I don't like desktop switchers, this remains on the wish list.

Offline

#157 2017-10-01 16:51:58

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

15.2 brings a few minor fixes. I skipped announcing 15.1, since that was relevant only for *BSD and non-x86 systems.

Offline

#158 2017-10-01 21:42:22

twoion
ほやほや
Registered: 2015-08-10
Posts: 2,116

Re: tint2 16.2 released :)

o9000 wrote:

15.2 brings a few minor fixes. I skipped announcing 15.1, since that was relevant only for *BSD and non-x86 systems.

New build on BL jessie-backports. For Helium-dev users, there's now a stretch-backports with the 15.2 build for Stretch/Helium, too.

Offline

#159 2017-10-02 19:53:44

brontosaurusrex
Middle Office
Registered: 2015-09-29
Posts: 1,514

Re: tint2 16.2 released :)

Wasn't there something like 'execp_tooltip_command' (can't seem to find anything like that)? And as usually, thanks for pushing tint2 forward.

Last edited by brontosaurusrex (2017-10-02 19:55:00)

Offline

#160 2017-10-03 06:53:12

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

stderr now becomes tooltip. I guess I forgot to document it.

For example, the following executor command shows disk usage in the panel, and the whole df output in the tooltip:

df -H | grep -v boot | grep -v shm | awk '/dev\// {printf "%s %s %s\n", $6, $2, $5}' ; df -h >&2

Offline

#161 2017-10-03 07:15:28

brontosaurusrex
Middle Office
Registered: 2015-09-29
Posts: 1,514

Re: tint2 16.2 released :)

Ah, i knew there was something, got it working with my radio script.

Offline

#162 2018-01-09 20:20:52

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

I recommend updating to 16.1, since it fixes some crashes from 16.0 and earlier.

Offline

#163 2018-01-10 22:38:23

twoion
ほやほや
Registered: 2015-08-10
Posts: 2,116

Re: tint2 16.2 released :)

Tint2 16.1 is now available in BL jessie-backports and stretch-backports. Sorry it took so long.

Offline

#164 2018-01-11 21:31:46

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

Thank you. For me it is not a problem at all, I was just worried that the mail got lost.

Offline

#165 2018-01-18 20:06:56

ohnonot
...again
Registered: 2015-09-29
Posts: 2,847
Website

Re: tint2 16.2 released :)

i'm having trouble with my executor plugin.
it executes every 2s and displays one line fo text that varies in length.
after a while it seems to settle on the widest text, and keep that width, resulting in huge margins for shorter text.

with execp_centered i can decide whether that margin is on the right side, or on both sides, but cannot switch the behaviour off.

i'm sure it didn't do that in earlier versions!

i feel like i'm missing something.

here's my multidesktop tint2rc that hasn't changed for many months:

#---- Generated by tint2conf 2641 ----
# See https://gitlab.com/o9000/tint2/wikis/Configure for 
# full documentation of the configuration options.
#-------------------------------------

# Background 1: Panel
rounded = 0
border_width = 0
background_color = #ADC7CC 10
border_color = #B3B3B3 100
background_color_hover = #000000 60
border_color_hover = #000000 30
background_color_pressed = #000000 60
border_color_pressed = #000000 30

# Background 2: Urgent task
rounded = 0
border_width = 0
background_color = #aa4400 100
border_color = #aa7733 100
background_color_hover = #cc7700 100
border_color_hover = #aa7733 100
background_color_pressed = #555555 4
border_color_pressed = #aa7733 100

# Background 3: Tooltip
rounded = 0
border_width = 1
background_color = #C3E0E6 100
border_color = #ADC7CC 100
background_color_hover = #FFFFFF 100
border_color_hover = #3F3F3F 100
background_color_pressed = #FFFFFF 100
border_color_pressed = #3F3F3F 100

# Background 4: Taskbar active
rounded = 0
border_width = 0
background_color = #ADC7CC 50
border_color = #777777 30
background_color_hover = #ADC7CC 60
border_color_hover = #eaeaea 44
background_color_pressed = #ADC7CC 80
border_color_pressed = #eaeaea 44

#-------------------------------------
# Panel
panel_items = TESC
panel_size = 100% 24
panel_margin = 0 0
panel_padding = 0 0 0
panel_background_id = 1
wm_menu = 1
panel_dock = 0
panel_position = top center horizontal
panel_layer = bottom
panel_monitor = all
primary_monitor_first = 0
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0.5
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 1
mouse_effects = 1
font_shadow = 0
panel_shrink = 0

#-------------------------------------
# Icons
mouse_hover_icon_asb = 100 0 10
mouse_pressed_icon_asb = 100 0 -10
launcher_icon_asb = 100 0 0
systray_icon_asb = 100 0 0

task_icon_asb = 50 -10 -5
task_active_icon_asb = 100 0 0
task_iconified_icon_asb = 50 -10 -5
task_urgent_icon_asb = 100 0 0

#-------------------------------------
# Taskbar
taskbar_mode = multi_desktop
taskbar_padding = 2 0 2
taskbar_background_id = 1
taskbar_active_background_id = 4
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_always_show_all_desktop_tasks = 0
taskbar_name_padding = 4 0
taskbar_name_background_id = 0
taskbar_name_active_background_id = 0
taskbar_name_font_color = #70888C 100
taskbar_name_font = sans bold 14
taskbar_name_active_font_color = #C3E0E6 100
taskbar_distribute_size = 0
taskbar_sort_order = none
task_align = left

#-------------------------------------
# Task
task_text = 0
task_icon = 1
task_centered = 0
urgent_nb_of_blink = 100000
task_maximum_size = 28 24
task_padding = 2 0 0
task_tooltip = 1
task_font_color = #B3B3B3 100
task_font = sans 9
task_background_id = 0
task_active_background_id = 0
task_urgent_background_id = 2
task_iconified_background_id = 0
mouse_left = toggle_iconify
mouse_middle = close
mouse_right = none
mouse_scroll_up = none
mouse_scroll_down = none

#-------------------------------------
# System tray (notification area)
systray_padding = 2 0 0
systray_background_id = 0
systray_sort = ascending
systray_icon_size = 24
#systray_monitor = 1

#-------------------------------------
# Launcher
launcher_padding = 2 4 2
launcher_background_id = 0
launcher_icon_background_id = 0
launcher_icon_size = 24
launcher_icon_theme_override = 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = /usr/share/applications/tint2conf.desktop
launcher_item_app = /usr/local/share/applications/tint2conf.desktop
launcher_item_app = /usr/share/applications/firefox.desktop
launcher_item_app = /usr/share/applications/iceweasel.desktop
launcher_item_app = /usr/share/applications/chromium-browser.desktop
launcher_item_app = /usr/share/applications/google-chrome.desktop

#-------------------------------------
# Clock
time1_format = %R
clock_font_color = #ADC7CC 100
time1_font = sans bold 14
clock_padding = 4 0
clock_background_id = 0
clock_tooltip = %A, %-d.%-m.%Y 
clock_tooltip_timezone = 
clock_lclick_command = 
clock_rclick_command = 
clock_mclick_command = 
clock_uwheel_command = 
clock_dwheel_command = 

#-------------------------------------
# Battery
battery_tooltip = 1
battery_low_status = 10
battery_low_cmd = notify-send "battery low"
battery_font_color = #ffffff 100
battery_padding = 1 0
battery_background_id = 0
battery_hide = 101
battery_lclick_command = 
battery_rclick_command = 
battery_mclick_command = 
battery_uwheel_command = 
battery_dwheel_command = 
ac_connected_cmd = 
ac_disconnected_cmd = 

#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.3
tooltip_hide_timeout = 0.3
tooltip_padding = 6 2
tooltip_background_id = 3
tooltip_font_color = #70888C 100
tooltip_font = sans 9

#-------------------------------------
# EXECUTOR
execp = new
execp_command = mpi-panel
execp_interval = 2
execp_continuous = 0
execp_has_icon = 0
execp_cache_icon = 1
execp_icon_w = 19
execp_icon_h = 19
#execp_tooltip = Lclick=un/pause | Mclick=MOC | Rclick=next | Up=volume+ | Down=volume-
execp_font = sans 11
execp_font_color = #C3E0E6 100
execp_markup = 0
execp_background_id = 0
execp_centered = 0
execp_padding = 7 0 3
execp_lclick_command = mocp --toggle-pause
execp_mclick_command = xdotool key super+p
execp_rclick_command = mocp --next
execp_uwheel_command = amixer sset PCM,0 4+
execp_dwheel_command = amixer sset PCM,0 4-

i use archlinux'

community/tint2 16.1-1

there's definitely been recent updates to that package.

??? :scratchbeard: ???

Offline

#166 2018-01-18 20:56:04

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

I know what the problem is, there is no clear solution, but I'll see what I can do. For now, changing a bit the padding or the panel size may fix it.

Offline

#167 2018-01-19 07:29:32

ohnonot
...again
Registered: 2015-09-29
Posts: 2,847
Website

Re: tint2 16.2 released :)

to clarify:
earlier, the executor plugin would adapt itself in width according to the length of the text, accordingly squeezing or stretching the taskbar that's to the left of it.
i would like that behaviour back.

i put in some execp_padding only the other day, so in addition to tint2 updates, that might also have caused the change in behaviour.

...and indeed it does!

commenting out execp_padding brings back the old behaviour.
i don't have any padding anymore, but that can be fixed with 2 separators on each side.

Offline

#168 2018-01-19 07:40:12

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

Any chance you could test the fix from https://gitlab.com/o9000/tint2/issues/693 ?

It's a matter of running:

(you need sources in apt repos)

apt-get build-dep tint2
apt install git
git clone https://gitlab.com/o9000/tint2.git
cd tint2
mkdir build
cd build
cmake ..
make
./tint2

Offline

#169 2018-01-19 07:53:59

ohnonot
...again
Registered: 2015-09-29
Posts: 2,847
Website

Re: tint2 16.2 released :)

^ i'll try tonight.

Offline

#170 2018-01-19 18:08:00

ohnonot
...again
Registered: 2015-09-29
Posts: 2,847
Website

Re: tint2 16.2 released :)

tint2 -v
tint2 version 16.1-15-gb70edc4

this is on archlinux, and i installed tint2-git from AUR.
i'm a little confused about the versioning, but this should be the latest master.

anyhow, my issue seems fixed now:
re-enabled some execp_padding, no more need for a separator, and the executor contracts according to output length.

i'm also trying 'time1_format = %A %d %B %H:%M', and it stays on one line.

PS:
i recently compiled tint2 (git master) for my ARM laptop, because armbian does not have a satisfactory version in the repos, and it was no problem at all.
just a big thumbs up for maintaining a beautiful & sane application!

Last edited by ohnonot (2018-01-19 18:08:12)

Offline

#171 2018-01-19 20:35:19

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

Thanks, but I managed to trigger it again with a different font sad

It's a bug in pango-cairo, the libraries used by tint2 to render text. Probably a rounding error or something like that.

Last edited by o9000 (2018-01-19 20:36:04)

Offline

#172 2018-01-19 21:30:49

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

OK let's try again. If it still doesn't work, just throw it all away and install windows.

Last edited by o9000 (2018-01-19 21:31:14)

Offline

#173 2018-01-19 23:09:35

malm
jgmenu developer
Registered: 2016-10-13
Posts: 154
Website

Re: tint2 16.2 released :)

^ I've found the same with pango_layout_get_pixel_size(), ...pixel_extents(), etc. It's seems to be a combination of offset+gain errors. It's very close, but not 100.000%.

I have tried windows. It doesn't work particularly well.

Last edited by malm (2018-01-19 23:10:04)

Offline

#174 2018-01-20 23:06:05

ohnonot
...again
Registered: 2015-09-29
Posts: 2,847
Website

Re: tint2 16.2 released :)

tint2 --version
tint2 version 16.1-24-g03675b1

i tried as above, testing both clock & executor with font Roboto instead of Sans.
so far, all is good.

Offline

#175 2018-01-21 07:08:35

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 388
Website

Re: tint2 16.2 released :)

Thanks. Fix looks good. 16.2 out.

Offline

Board footer

Powered by FluxBB