… | |
… | |
129 | $self |
129 | $self |
130 | } |
130 | } |
131 | |
131 | |
132 | sub cfg_bind { |
132 | sub cfg_bind { |
133 | my ($self, $mod, $sym, $cmds) = @_; |
133 | my ($self, $mod, $sym, $cmds) = @_; |
134 | $::CFG->{profile}{default}{bindings}{$mod}{$sym} = $cmds; |
134 | $::PROFILE->{bindings}{$mod}{$sym} = $cmds; |
135 | ::update_bindings (); |
135 | ::update_bindings (); |
136 | } |
136 | } |
137 | |
137 | |
138 | sub cfg_unbind { |
138 | sub cfg_unbind { |
139 | my ($self, $mod, $sym, $cmds) = @_; |
139 | my ($self, $mod, $sym, $cmds) = @_; |
140 | delete $::CFG->{profile}{default}{bindings}{$mod}{$sym}; |
140 | delete $::PROFILE->{bindings}{$mod}{$sym}; |
141 | ::update_bindings (); |
141 | ::update_bindings (); |
142 | } |
142 | } |
143 | |
143 | |
144 | sub commit { |
144 | sub commit { |
145 | my ($self) = @_; |
145 | my ($self) = @_; |
… | |
… | |
230 | $self->{binding} = [$mod, $sym]; |
230 | $self->{binding} = [$mod, $sym]; |
231 | $self->update_binding_widgets; |
231 | $self->update_binding_widgets; |
232 | $self->commit if $commit; |
232 | $self->commit if $commit; |
233 | $end_cb->() if $end_cb; |
233 | $end_cb->() if $end_cb; |
234 | |
234 | |
|
|
235 | if (my $binder = delete $self->{binder}) { |
235 | (delete $self->{binder})->destroy; |
236 | $binder->destroy; |
|
|
237 | } |
236 | 1 |
238 | 1 |
237 | }, |
239 | }, |
238 | on_focus_out => sub { |
240 | on_focus_out => sub { |
239 | # segfaults and worse :() |
241 | # segfaults and worse :() |
240 | #(delete $self->{binder})->destroy if $self->{binder}; |
242 | #(delete $self->{binder})->destroy if $self->{binder}; |