Заставьте разделитель попросить разрешение прежде, чем закрыться, если что-то выполняется

Я обычно использую Терминатора в качестве терминала вместо GNOME один. До сих пор я действительно доволен Терминатором. Однако терминал GNOME просит разрешение прежде, чем закрыться, если что-то будет работать в терминале (например, если Вы ssh к другому использующему компьютеры терминалу GNOME и Вы захотите закрыть тот терминал путем нажимания кнопки "X", то это предложит Вам с сообщением, просящим разрешение закрыться), в то время как Терминатор не делает. Действительно ли возможно сделать это в Терминаторе?

5
задан 13 July 2016 в 08:08

1 ответ

Необходимо отредактировать terminatorlib container.py файл, обычно располагаемый в usr/share/terminator/terminatorlib/container.py найдите contruct_confirm_close || удаляют его и вставляют это значение по умолчанию

def construct_confirm_close(self, window, reqtype):
        """Create a confirmation dialog for closing things"""

        # skip this dialog if applicable
        if self.config['suppress_multiple_term_dialog']:
            return gtk.RESPONSE_ACCEPT

        dialog = gtk.Dialog(_('Close?'), window, gtk.DIALOG_MODAL)
        dialog.set_has_separator(False)
        dialog.set_resizable(False)

        dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT)
        c_all = dialog.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_ACCEPT)
        c_all.get_children()[0].get_children()[0].get_children()[1].set_label(
                _('Close _Terminals'))

        primary = gtk.Label(_('<big><b>Close multiple terminals?</b></big>'))
        primary.set_use_markup(True)
        primary.set_alignment(0, 0.5)
        secondary = gtk.Label(_('This %s has several terminals open. Closing \
the %s will also close all terminals within it.') % (reqtype, reqtype))
        secondary.set_line_wrap(True)

        labels = gtk.VBox()
        labels.pack_start(primary, False, False, 6)
        labels.pack_start(secondary, False, False, 6)

        image = gtk.image_new_from_stock(gtk.STOCK_DIALOG_WARNING,
                                         gtk.ICON_SIZE_DIALOG)
        image.set_alignment(0.5, 0)

        box = gtk.HBox()
        box.pack_start(image, False, False, 6)
        box.pack_start(labels, False, False, 6)
        dialog.vbox.pack_start(box, False, False, 12)

        checkbox = gtk.CheckButton(_("Do not show this message next time"))
        dialog.vbox.pack_end(checkbox)

        dialog.show_all()

        result = dialog.run()

        # set configuration
        self.config.base.reload()
        self.config['suppress_multiple_term_dialog'] = checkbox.get_active()
        self.config.save()

        dialog.destroy()

        return(result)

Отметьте в некоторых случаях или версии разделителя'GTK_OBJECT может быть сослан как gtk или GTK

0
ответ дан 23 November 2019 в 10:56

Другие вопросы по тегам:

Похожие вопросы: