The Tk text widget sends the <<Modified>> virtual event when the state of the [$w edit modified] flag changes. The ctext widget sends <<Modified>> on every change, whether the [$w edit modified] flag has actually changed or not. The ctext widget's interface should mimic the text widget's interface here; if there are actions you want to do when the editor's content has just become unsaved, you don't want to repeat them every time they add another character.