Compare commits

...

3 Commits

Author SHA1 Message Date
79086cc920 Update primary selection shortcuts in gtk3 2025-03-24 11:51:18 +01:00
e052b6d302 Added fix for incompatible type in pilot-link 2025-02-18 15:08:42 +01:00
84260e6b0d Added patch for wezterm
Added new method for getting seqno field for the pane, which indicates
changes that happened on the pane, storing and comparing this field in
lua config, helps with that task for identifying tabs, which are still
active with those, where activity has stopped already.
2023-08-24 13:48:44 +02:00
3 changed files with 107 additions and 75 deletions

View File

@@ -0,0 +1,14 @@
diff '--color=auto' -ur pilot-link-0.12.5_orig/src/pilot-read-todos.c pilot-link-0.12.5/src/pilot-read-todos.c
--- pilot-link-0.12.5_orig/src/pilot-read-todos.c 2009-06-04 15:32:32.000000000 +0200
+++ pilot-link-0.12.5/src/pilot-read-todos.c 2025-02-18 15:04:20.120418647 +0100
@@ -202,8 +202,8 @@
for (i = 0;; i++) {
int attr,
- category,
- len;
+ category;
+ long unsigned int len;
struct ToDo todo;

View File

@@ -1,6 +1,6 @@
diff -ur gtk+-3.24.1/gtk/gtkentry.c gtk+-3.24.1_patched/gtk/gtkentry.c diff '--color=auto' -ur gtk-3.24.48-orig/gtk/gtkentry.c gtk-3.24.48/gtk/gtkentry.c
--- gtk+-3.24.1/gtk/gtkentry.c 2018-06-03 15:43:28.000000000 +0200 --- gtk-3.24.48-orig/gtk/gtkentry.c 2025-01-25 14:25:12.000000000 +0100
+++ gtk+-3.24.1_patched/gtk/gtkentry.c 2019-03-24 12:26:55.484614867 +0100 +++ gtk-3.24.48/gtk/gtkentry.c 2025-03-24 10:55:25.453442872 +0100
@@ -323,6 +323,7 @@ @@ -323,6 +323,7 @@
CUT_CLIPBOARD, CUT_CLIPBOARD,
COPY_CLIPBOARD, COPY_CLIPBOARD,
@@ -9,14 +9,14 @@ diff -ur gtk+-3.24.1/gtk/gtkentry.c gtk+-3.24.1_patched/gtk/gtkentry.c
TOGGLE_OVERWRITE, TOGGLE_OVERWRITE,
ICON_PRESS, ICON_PRESS,
ICON_RELEASE, ICON_RELEASE,
@@ -552,6 +553,7 @@ @@ -553,6 +554,7 @@
static void gtk_entry_cut_clipboard (GtkEntry *entry); static void gtk_entry_cut_clipboard (GtkEntry *entry);
static void gtk_entry_copy_clipboard (GtkEntry *entry); static void gtk_entry_copy_clipboard (GtkEntry *entry);
static void gtk_entry_paste_clipboard (GtkEntry *entry); static void gtk_entry_paste_clipboard (GtkEntry *entry);
+static void gtk_entry_paste_selection (GtkEntry *entry); +static void gtk_entry_paste_selection (GtkEntry *entry);
static void gtk_entry_toggle_overwrite (GtkEntry *entry); static void gtk_entry_toggle_overwrite (GtkEntry *entry);
static void gtk_entry_toggle_direction (GtkEntry *entry);
static void gtk_entry_insert_emoji (GtkEntry *entry); static void gtk_entry_insert_emoji (GtkEntry *entry);
static void gtk_entry_select_all (GtkEntry *entry);
@@ -816,6 +818,7 @@ @@ -816,6 +818,7 @@
class->cut_clipboard = gtk_entry_cut_clipboard; class->cut_clipboard = gtk_entry_cut_clipboard;
class->copy_clipboard = gtk_entry_copy_clipboard; class->copy_clipboard = gtk_entry_copy_clipboard;
@@ -25,23 +25,23 @@ diff -ur gtk+-3.24.1/gtk/gtkentry.c gtk+-3.24.1_patched/gtk/gtkentry.c
class->toggle_overwrite = gtk_entry_toggle_overwrite; class->toggle_overwrite = gtk_entry_toggle_overwrite;
class->insert_emoji = gtk_entry_insert_emoji; class->insert_emoji = gtk_entry_insert_emoji;
class->activate = gtk_entry_real_activate; class->activate = gtk_entry_real_activate;
@@ -1828,6 +1831,15 @@ @@ -1829,6 +1832,15 @@
NULL, NULL,
G_TYPE_NONE, 0); G_TYPE_NONE, 0);
+ signals[PASTE_SELECTION] = + signals[PASTE_SELECTION] =
+ g_signal_new (I_("paste-selection"), + g_signal_new (I_("paste-selection"),
+ G_OBJECT_CLASS_TYPE (gobject_class), + G_OBJECT_CLASS_TYPE (gobject_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET (GtkEntryClass, paste_selection), + G_STRUCT_OFFSET (GtkEntryClass, paste_selection),
+ NULL, NULL, + NULL, NULL,
+ NULL, + NULL,
+ G_TYPE_NONE, 0); + G_TYPE_NONE, 0);
+ +
/** /**
* GtkEntry::toggle-overwrite: * GtkEntry::toggle-overwrite:
* @entry: the object which received the signal * @entry: the object which received the signal
@@ -2086,14 +2098,14 @@ @@ -2096,14 +2108,14 @@
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_CONTROL_MASK, gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_CONTROL_MASK,
"copy-clipboard", 0); "copy-clipboard", 0);
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK, gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK,
@@ -58,37 +58,37 @@ diff -ur gtk+-3.24.1/gtk/gtkentry.c gtk+-3.24.1_patched/gtk/gtkentry.c
/* Overwrite */ /* Overwrite */
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, 0, gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, 0,
@@ -5986,6 +5998,27 @@ @@ -6000,6 +6012,27 @@
} else
} gtk_widget_error_bell (GTK_WIDGET (entry));
+static void + if (priv->text_handle)
+gtk_entry_paste_selection (GtkEntry *entry)
+{
+ GtkEntryPrivate *priv = entry->priv;
+
+ if (priv->editable)
+ gtk_entry_paste (entry, GDK_SELECTION_PRIMARY);
+ else
+ gtk_widget_error_bell (GTK_WIDGET (entry));
+
+ if (priv->text_handle)
+ { + {
+ GtkTextHandleMode handle_mode; + GtkTextHandleMode handle_mode;
+ +
+ handle_mode = _gtk_text_handle_get_mode (priv->text_handle); + handle_mode = _gtk_text_handle_get_mode (priv->text_handle);
+ +
+ if (handle_mode != GTK_TEXT_HANDLE_MODE_NONE) + if (handle_mode != GTK_TEXT_HANDLE_MODE_NONE)
+ gtk_entry_update_handles (entry, GTK_TEXT_HANDLE_MODE_CURSOR); + gtk_entry_update_handles (entry, GTK_TEXT_HANDLE_MODE_CURSOR);
+ } + }
+} +}
+ +
static void +static void
gtk_entry_delete_cb (GtkEntry *entry) +gtk_entry_paste_selection (GtkEntry *entry)
{ +{
diff -ur gtk+-3.24.1/gtk/gtkentry.h gtk+-3.24.1_patched/gtk/gtkentry.h + GtkEntryPrivate *priv = entry->priv;
--- gtk+-3.24.1/gtk/gtkentry.h 2017-11-27 00:24:51.000000000 +0100 +
+++ gtk+-3.24.1_patched/gtk/gtkentry.h 2019-03-24 11:55:03.848566726 +0100 + if (priv->editable)
+ gtk_entry_paste (entry, GDK_SELECTION_PRIMARY);
+ else
+ gtk_widget_error_bell (GTK_WIDGET (entry));
+
if (priv->text_handle)
{
GtkTextHandleMode handle_mode;
diff '--color=auto' -ur gtk-3.24.48-orig/gtk/gtkentry.h gtk-3.24.48/gtk/gtkentry.h
--- gtk-3.24.48-orig/gtk/gtkentry.h 2025-01-25 14:25:12.000000000 +0100
+++ gtk-3.24.48/gtk/gtkentry.h 2025-03-24 10:29:15.753717742 +0100
@@ -145,6 +145,7 @@ @@ -145,6 +145,7 @@
void (* cut_clipboard) (GtkEntry *entry); void (* cut_clipboard) (GtkEntry *entry);
void (* copy_clipboard) (GtkEntry *entry); void (* copy_clipboard) (GtkEntry *entry);
@@ -97,18 +97,18 @@ diff -ur gtk+-3.24.1/gtk/gtkentry.h gtk+-3.24.1_patched/gtk/gtkentry.h
void (* toggle_overwrite) (GtkEntry *entry); void (* toggle_overwrite) (GtkEntry *entry);
/* hooks to add other objects beside the entry (like in GtkSpinButton) */ /* hooks to add other objects beside the entry (like in GtkSpinButton) */
@@ -168,7 +169,6 @@ @@ -169,7 +170,6 @@
void (*_gtk_reserved2) (void);
void (*_gtk_reserved3) (void); void (*_gtk_reserved3) (void);
void (*_gtk_reserved4) (void); void (*_gtk_reserved4) (void);
void (*_gtk_reserved5) (void); - void (*_gtk_reserved5) (void);
- void (*_gtk_reserved6) (void);
}; };
GDK_AVAILABLE_IN_ALL GDK_AVAILABLE_IN_ALL
diff -ur gtk+-3.24.1/gtk/gtktextview.c gtk+-3.24.1_patched/gtk/gtktextview.c diff '--color=auto' -ur gtk-3.24.48-orig/gtk/gtktextview.c gtk-3.24.48/gtk/gtktextview.c
--- gtk+-3.24.1/gtk/gtktextview.c 2018-07-25 14:29:25.000000000 +0200 --- gtk-3.24.48-orig/gtk/gtktextview.c 2025-01-25 14:25:12.000000000 +0100
+++ gtk+-3.24.1_patched/gtk/gtktextview.c 2019-03-24 11:46:29.476553772 +0100 +++ gtk-3.24.48/gtk/gtktextview.c 2025-03-24 10:38:47.534703867 +0100
@@ -327,6 +327,7 @@ @@ -329,6 +329,7 @@
CUT_CLIPBOARD, CUT_CLIPBOARD,
COPY_CLIPBOARD, COPY_CLIPBOARD,
PASTE_CLIPBOARD, PASTE_CLIPBOARD,
@@ -116,7 +116,7 @@ diff -ur gtk+-3.24.1/gtk/gtktextview.c gtk+-3.24.1_patched/gtk/gtktextview.c
TOGGLE_OVERWRITE, TOGGLE_OVERWRITE,
MOVE_VIEWPORT, MOVE_VIEWPORT,
SELECT_ALL, SELECT_ALL,
@@ -497,6 +498,7 @@ @@ -499,6 +500,7 @@
static void gtk_text_view_cut_clipboard (GtkTextView *text_view); static void gtk_text_view_cut_clipboard (GtkTextView *text_view);
static void gtk_text_view_copy_clipboard (GtkTextView *text_view); static void gtk_text_view_copy_clipboard (GtkTextView *text_view);
static void gtk_text_view_paste_clipboard (GtkTextView *text_view); static void gtk_text_view_paste_clipboard (GtkTextView *text_view);
@@ -124,7 +124,7 @@ diff -ur gtk+-3.24.1/gtk/gtktextview.c gtk+-3.24.1_patched/gtk/gtktextview.c
static void gtk_text_view_toggle_overwrite (GtkTextView *text_view); static void gtk_text_view_toggle_overwrite (GtkTextView *text_view);
static void gtk_text_view_toggle_cursor_visible (GtkTextView *text_view); static void gtk_text_view_toggle_cursor_visible (GtkTextView *text_view);
@@ -785,6 +787,7 @@ @@ -787,6 +789,7 @@
klass->cut_clipboard = gtk_text_view_cut_clipboard; klass->cut_clipboard = gtk_text_view_cut_clipboard;
klass->copy_clipboard = gtk_text_view_copy_clipboard; klass->copy_clipboard = gtk_text_view_copy_clipboard;
klass->paste_clipboard = gtk_text_view_paste_clipboard; klass->paste_clipboard = gtk_text_view_paste_clipboard;
@@ -132,23 +132,23 @@ diff -ur gtk+-3.24.1/gtk/gtktextview.c gtk+-3.24.1_patched/gtk/gtktextview.c
klass->toggle_overwrite = gtk_text_view_toggle_overwrite; klass->toggle_overwrite = gtk_text_view_toggle_overwrite;
klass->create_buffer = gtk_text_view_create_buffer; klass->create_buffer = gtk_text_view_create_buffer;
klass->extend_selection = gtk_text_view_extend_selection; klass->extend_selection = gtk_text_view_extend_selection;
@@ -1305,6 +1308,15 @@ @@ -1316,6 +1319,15 @@
NULL, NULL,
G_TYPE_NONE, 0); G_TYPE_NONE, 0);
+ signals[PASTE_SELECTION] = + signals[PASTE_SELECTION] =
+ g_signal_new (I_("paste-selection"), + g_signal_new (I_("paste-selection"),
+ G_OBJECT_CLASS_TYPE (gobject_class), + G_OBJECT_CLASS_TYPE (gobject_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET (GtkTextViewClass, paste_selection), + G_STRUCT_OFFSET (GtkTextViewClass, paste_selection),
+ NULL, NULL, + NULL, NULL,
+ NULL, + NULL,
+ G_TYPE_NONE, 0); + G_TYPE_NONE, 0);
+ +
/** /**
* GtkTextView::toggle-overwrite: * GtkTextView::toggle-overwrite:
* @text_view: the object which received the signal * @text_view: the object which received the signal
@@ -1652,14 +1664,14 @@ @@ -1666,14 +1678,14 @@
gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Insert, GDK_CONTROL_MASK, gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Insert, GDK_CONTROL_MASK,
"copy-clipboard", 0); "copy-clipboard", 0);
gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Insert, GDK_SHIFT_MASK, gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Insert, GDK_SHIFT_MASK,
@@ -165,29 +165,30 @@ diff -ur gtk+-3.24.1/gtk/gtktextview.c gtk+-3.24.1_patched/gtk/gtktextview.c
/* Overwrite */ /* Overwrite */
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, 0, gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, 0,
@@ -7221,6 +7233,19 @@ @@ -7247,6 +7259,20 @@
} text_view->priv->scroll_after_paste = TRUE;
static void gtk_text_buffer_paste_clipboard (get_buffer (text_view),
+gtk_text_view_paste_selection (GtkTextView *text_view) + clipboard,
+{ + NULL,
+ GtkClipboard *clipboard = gtk_widget_get_clipboard (GTK_WIDGET (text_view), + text_view->priv->editable);
+ GDK_SELECTION_PRIMARY);
+
+ text_view->priv->scroll_after_paste = TRUE;
+ gtk_text_buffer_paste_clipboard (get_buffer (text_view),
+ clipboard,
+ NULL,
+ text_view->priv->editable);
+} +}
+ +
+static void +static void
gtk_text_view_paste_done_handler (GtkTextBuffer *buffer, +gtk_text_view_paste_selection (GtkTextView *text_view)
GtkClipboard *clipboard, +{
gpointer data) + GtkClipboard *clipboard = gtk_widget_get_clipboard (GTK_WIDGET (text_view),
diff -ur gtk+-3.24.1/gtk/gtktextview.h gtk+-3.24.1_patched/gtk/gtktextview.h + GDK_SELECTION_PRIMARY);
--- gtk+-3.24.1/gtk/gtktextview.h 2017-11-26 22:31:46.000000000 +0100 +
+++ gtk+-3.24.1_patched/gtk/gtktextview.h 2019-03-24 11:57:41.592570698 +0100 + text_view->priv->scroll_after_paste = TRUE;
+
+ gtk_text_buffer_paste_clipboard (get_buffer (text_view),
clipboard,
NULL,
text_view->priv->editable);
diff '--color=auto' -ur gtk-3.24.48-orig/gtk/gtktextview.h gtk-3.24.48/gtk/gtktextview.h
--- gtk-3.24.48-orig/gtk/gtktextview.h 2025-01-25 14:25:12.000000000 +0100
+++ gtk-3.24.48/gtk/gtktextview.h 2025-03-24 10:32:51.750647605 +0100
@@ -181,6 +181,7 @@ @@ -181,6 +181,7 @@
void (* cut_clipboard) (GtkTextView *text_view); void (* cut_clipboard) (GtkTextView *text_view);
void (* copy_clipboard) (GtkTextView *text_view); void (* copy_clipboard) (GtkTextView *text_view);

View File

@@ -0,0 +1,17 @@
diff --git a/lua-api-crates/mux/src/pane.rs b/lua-api-crates/mux/src/pane.rs
index f0d919e16..0a16b03d3 100644
--- a/lua-api-crates/mux/src/pane.rs
+++ b/lua-api-crates/mux/src/pane.rs
@@ -409,6 +409,12 @@ impl UserData for MuxPane {
let pane = this.resolve(&mux)?;
Ok(pane.tty_name())
});
+
+ methods.add_method("get_seqno", move |_lua, this, ()| {
+ let mux = Mux::get();
+ let pane = this.resolve(&mux)?;
+ Ok(pane.get_current_seqno())
+ });
}
}