@@ -7,7 +7,6 @@ import GLib from 'gi://GLib';
77import GObject from 'gi://GObject' ;
88import Gio from 'gi://Gio' ;
99import Gdk from 'gi://Gdk' ;
10- import Gtk from 'gi://Gtk' ;
1110import Vte from 'gi://Vte' ;
1211
1312import { tcgetpgrp , InterpreterNotFoundError } from './tcgetpgrp.js' ;
@@ -677,74 +676,6 @@ const TerminalBase = GObject.registerClass({
677676 }
678677} ) ;
679678
680- const HAS_CONTEXT_MENU = GObject . Object . find_property . call ( Vte . Terminal , 'context-menu-model' ) ;
681-
682- const TerminalContextMenu = HAS_CONTEXT_MENU ? null : GObject . registerClass ( {
683- Properties : {
684- 'context-menu-model' : GObject . ParamSpec . object (
685- 'context-menu-model' ,
686- null ,
687- null ,
688- GObject . ParamFlags . READWRITE | GObject . ParamFlags . EXPLICIT_NOTIFY ,
689- Gio . MenuModel
690- ) ,
691- } ,
692- } , class DDTermTerminalContextMenu extends TerminalBase {
693- _init ( params ) {
694- super . _init ( params ) ;
695-
696- this . connect ( 'button-press-event' , this . _button_press_early . bind ( this ) ) ;
697- this . connect_after ( 'button-press-event' , this . _button_press_late . bind ( this ) ) ;
698- this . connect ( 'popup-menu' , this . _popup_menu . bind ( this ) ) ;
699- }
700-
701- _create_context_menu ( ) {
702- let menu = Gtk . Menu . new_from_model ( this . context_menu_model ) ;
703-
704- menu . __heapgraph_name = 'DDTermTerminalContextMenuContextMenu' ;
705- // https://github.com/ddterm/gnome-shell-extension-ddterm/issues/116
706- menu . get_style_context ( ) . add_class ( Gtk . STYLE_CLASS_CONTEXT_MENU ) ;
707- menu . attach_to_widget ( this , ( widget , m ) => m . destroy ( ) ) ;
708- menu . connect ( 'selection-done' , m => m . detach ( ) ) ;
709-
710- return menu ;
711- }
712-
713- _button_press_early ( terminal , event ) {
714- if ( ! event . triggers_context_menu ( ) )
715- return false ;
716-
717- const state = event . get_state ( ) [ 1 ] ;
718-
719- if ( ! ( state & Gdk . ModifierType . SHIFT_MASK ) )
720- return false ;
721-
722- if ( state & ( Gdk . ModifierType . CONTROL_MASK | Gdk . ModifierType . MOD1_MASK ) )
723- return false ;
724-
725- this . _create_context_menu ( ) . popup_at_pointer ( event ) ;
726-
727- return true ;
728- }
729-
730- _button_press_late ( terminal , event ) {
731- if ( ! event . triggers_context_menu ( ) )
732- return false ;
733-
734- this . _create_context_menu ( ) . popup_at_pointer ( event ) ;
735-
736- return true ;
737- }
738-
739- _popup_menu ( ) {
740- const menu = this . _create_context_menu ( ) ;
741-
742- menu . popup_at_widget ( this , Gdk . Gravity . SOUTH , Gdk . Gravity . SOUTH , null ) ;
743-
744- return true ;
745- }
746- } ) ;
747-
748679const TerminalTermprop = 'PropertyId' in Vte ? GObject . registerClass ( {
749680 Properties : {
750681 'window-title' : GObject . ParamSpec . string (
@@ -801,4 +732,4 @@ const TerminalTermprop = 'PropertyId' in Vte ? GObject.registerClass({
801732 }
802733} ) : null ;
803734
804- export const Terminal = TerminalTermprop ?? TerminalContextMenu ?? TerminalBase ;
735+ export const Terminal = TerminalTermprop ?? TerminalBase ;
0 commit comments