#!/usr/bin/perl ## pxMeter pixel meter : raimo, 20071002 http://uhvo.org/ use strict; use Gtk2 "-init"; # INSTALLATION # wget http://uhvo.org/sec/pxmeter.txt # # Set $xoffset and $yoffset below to get upper left corner to 0, 0, # those depends to Your window theme. # # sudo cp -i pxmeter.txt /usr/bin/pxmeter # sudo chmod 755 /usr/bin/pxmeter # pxmeter # Get help with pxmeter --help # # Move window upper left corner to the start position, # press window text with mouse left ear, move mouse and keep ear pressed all the time. ################################## SETTINGS ######################################## my $xoffset = 4; # window upper left position fix (window border width in px) my $yoffset = 23; # window upper top position fix (window labelbar height in px) #################################################################################### my $version = 20071001; my $width = 210; my $height = 70; &help if (grep /--help|-h/, @ARGV); my $win = Gtk2::Window -> new("toplevel"); $win -> set_position("center"); $win -> set_border_width(0); $win -> set_resizable(0); $win -> signal_connect ("delete_event", sub {Gtk2->main_quit}); $win -> set_title("pxMeter"); $win -> set_keep_above(1); my $vbx = Gtk2::VBox -> new; my $eve = Gtk2::EventBox -> new; my $lab = Gtk2::Label -> new("Move window upper left corner\nto start position. Press this text\nand measure by moving mouse.\nKeep mouse pressed all the time."); $vbx -> add($lab); $win -> add($eve); $eve -> add($vbx); $win -> show_all; $eve -> signal_connect(motion_notify_event => sub{&on_motion}); Gtk2 -> main; exit 0; sub help{ print < x; $xpos = $xpos + $xoffset; my $ypos = $event -> y; $ypos = $ypos + $yoffset; $win -> set_title("X $xpos Y $ypos"); return 1; } # license: http://creativecommons.org/licenses/publicdomain/