/usr/share/amsn/plugins/movewin/movewin.tcl is in amsn-data 0.98.9-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | namespace eval ::movewin {
variable config
variable configlist
proc Init { dir } {
::plugins::RegisterPlugin movewin
::plugins::RegisterEvent movewin new_chatwindow move
::plugins::RegisterEvent movewin chat_msg_received message
array set ::movewin::config {
x {0}
y {0}
state {}
make_normal 0
}
set ::movewin::configlist [list \
[list str "x position" x] \
[list str "y position" y] \
[list bool "Deiconify window when messages are received" make_normal] \
[list str "only in states (blank for any)" state] \
]
}
proc ::movewin::on { } {
global automessage
if { $::movewin::config(state) == "" } {
return 1
}
if { [info exists automessage] && $automessage != -1 \
&& [lsearch $::movewin::config(state) [lindex $automessage 0]] >=0 \
} {
return 1
} else {
return 0
}
}
proc ::movewin::move { event epvar } {
upvar 2 $epvar vars
set w [winfo toplevel $vars(win)]
after idle [list ::movewin::move_delayed $w]
}
proc ::movewin::move_delayed {w } {
if { [winfo exists $w] && [::movewin::on] } {
wm geometry $w +$::movewin::config(x)+$::movewin::config(y)
if { $::movewin::config(make_normal) } {
wm state $w normal
}
}
}
proc ::movewin::message { event epvar } {
upvar 2 $epvar vars
upvar 2 $vars(chatid) chatid
set w [winfo toplevel [::ChatWindow::For $chatid]]
if { [::movewin::on] && $::movewin::config(make_normal)} {
wm state $w normal
}
}
}
|