… | |
… | |
84 | 0, $self->{tabheight}, |
84 | 0, $self->{tabheight}, |
85 | $self->width, $self->height - $self->{tabheight} |
85 | $self->width, $self->height - $self->{tabheight} |
86 | ); |
86 | ); |
87 | } |
87 | } |
88 | |
88 | |
|
|
89 | sub on_resize_all_windows { |
|
|
90 | my ($self, $width, $height) = @_; |
|
|
91 | |
|
|
92 | 1 |
|
|
93 | } |
|
|
94 | |
89 | sub copy_properties { |
95 | sub copy_properties { |
90 | my ($self) = @_; |
96 | my ($self) = @_; |
91 | my $tab = $self->{cur}; |
97 | my $tab = $self->{cur}; |
92 | |
98 | |
93 | my $wm_normal_hints = $self->XInternAtom ("WM_NORMAL_HINTS"); |
99 | my $wm_normal_hints = $self->XInternAtom ("WM_NORMAL_HINTS"); |
… | |
… | |
103 | |
109 | |
104 | delete $our_props{$atom}; |
110 | delete $our_props{$atom}; |
105 | |
111 | |
106 | if ($atom == $wm_normal_hints) { |
112 | if ($atom == $wm_normal_hints) { |
107 | my (@hints) = unpack "l!*", $items; |
113 | my (@hints) = unpack "l!*", $items; |
108 | |
114 | |
109 | $hints[$_] += $self->{tabheight} for (4, 6, 16); |
115 | $hints[$_] += $self->{tabheight} for (4, 6, 16); |
110 | |
116 | |
111 | $items = pack "l!*", @hints; |
117 | $items = pack "l!*", @hints; |
112 | } |
118 | } |
|
|
119 | |
|
|
120 | my ($dtype, $dformat, $ditems) = $self->XGetWindowProperty ($self->parent, $atom); |
|
|
121 | |
|
|
122 | if ($dtype != $type or $dformat != $format or $ditems ne $items) { |
113 | $self->XChangeWindowProperty ($self->parent, $atom, $type, $format, $items); |
123 | $self->XChangeWindowProperty ($self->parent, $atom, $type, $format, $items); |
|
|
124 | } |
114 | } |
125 | } |
115 | |
126 | |
116 | $self->XDeleteProperty ($self->parent, $_) for keys %our_props; |
127 | $self->XDeleteProperty ($self->parent, $_) for keys %our_props; |
117 | } |
128 | } |
118 | |
129 | |
… | |
… | |
127 | |
138 | |
128 | $self->{cur} = $tab; |
139 | $self->{cur} = $tab; |
129 | |
140 | |
130 | $self->configure; |
141 | $self->configure; |
131 | $self->copy_properties; |
142 | $self->copy_properties; |
132 | $tab->focus_in; |
143 | |
|
|
144 | $tab->focus_out; # just in case, should be a nop |
|
|
145 | $tab->focus_in if $self->focus; |
|
|
146 | |
133 | $tab->XMapWindow ($tab->parent); |
147 | $tab->XMapWindow ($tab->parent); |
134 | delete $tab->{activity}; |
148 | delete $tab->{activity}; |
135 | $self->refresh; |
149 | $self->refresh; |
136 | |
150 | |
137 | () |
151 | () |