4 Commits

Author SHA1 Message Date
65de412b5b Fix AppImage Perl symlinked core libs 2026-05-12 09:38:08 -06:00
e21e68a17b Bundle Perl core libs in AppImage 2026-05-11 14:26:40 -06:00
deepend-tildeclub
0e5f702651 Merge pull request #233 from ZoiteChat/userlist-button-meter-layout-fix
Tighten userlist button/meter layout
2026-05-11 08:17:02 -06:00
4f1b0fc838 Tighten userlist button/meter layout 2026-05-11 01:35:57 -06:00
4 changed files with 46 additions and 64 deletions

View File

@@ -86,15 +86,17 @@ jobs:
cp -a /usr/lib/x86_64-linux-gnu/python3/dist-packages AppDir/usr/lib/x86_64-linux-gnu/python3/
fi
if [ -d "/usr/lib/x86_64-linux-gnu/perl" ]; then
install -d AppDir/usr/lib/x86_64-linux-gnu
cp -a /usr/lib/x86_64-linux-gnu/perl AppDir/usr/lib/x86_64-linux-gnu/
fi
for perl_dir in /usr/lib/*/perl-base; do
if [ -d "$perl_dir" ]; then
install -d "AppDir$(dirname "$perl_dir")"
cp -a "$perl_dir" "AppDir$perl_dir"
fi
done
if [ -d "/usr/share/perl" ]; then
install -d AppDir/usr/share
cp -a /usr/share/perl AppDir/usr/share/
fi
perl -MConfig -e 'print join "\n", grep { defined && length && -d } @Config{qw(privlibexp archlibexp vendorlibexp vendorarchexp sitelibexp sitearchexp)}' | while IFS= read -r perl_dir; do
install -d "AppDir$(dirname "$perl_dir")"
cp -aL "$perl_dir" "AppDir$perl_dir"
done
if [ -d "/usr/share/perl5" ]; then
install -d AppDir/usr/share
@@ -211,6 +213,24 @@ jobs:
unset GTK_MODULES
perl5lib_entries=""
for perl_dir in \
"$APPDIR/usr/lib"/*/perl-base \
"$APPDIR/usr/lib"/*/perl/* \
"$APPDIR/usr/lib"/*/perl5/* \
"$APPDIR/usr/local/lib"/*/perl/* \
"$APPDIR/usr/local/lib"/*/perl5/* \
"$APPDIR/usr/local/share/perl"/* \
"$APPDIR/usr/share/perl"/* \
"$APPDIR/usr/share/perl5"; do
if [ -d "$perl_dir" ]; then
perl5lib_entries="${perl5lib_entries:+$perl5lib_entries:}$perl_dir"
fi
done
if [ -n "$perl5lib_entries" ]; then
export PERL5LIB="$perl5lib_entries${PERL5LIB:+:$PERL5LIB}"
fi
export PYTHONHOME="$APPDIR/usr"
python_stdlib_dir="$(find "$APPDIR/usr/lib" -maxdepth 1 -type d -name 'python3.*' | head -n 1 || true)"
pythonpath_entries=""

View File

@@ -4166,10 +4166,10 @@ const struct commands xc_cmds[] = {
static int
command_compare (const void *a, const void *b)
{
return g_ascii_strcasecmp (a, ((struct commands *)b)->name);
return g_ascii_strcasecmp (a, ((const struct commands *)b)->name);
}
static struct commands *
static const struct commands *
find_internal_command (char *name)
{
/* the "-1" is to skip the NULL terminator */
@@ -4205,7 +4205,7 @@ usercommand_show_help (session *sess, char *name)
static void
help (session *sess, char *tbuf, char *helpcmd, int quiet)
{
struct commands *cmd;
const struct commands *cmd;
if (plugin_show_help (sess, helpcmd))
return;
@@ -4763,7 +4763,7 @@ handle_command (session *sess, char *cmd, int check_spch)
char *word[PDIWORDS+1];
char *word_eol[PDIWORDS+1];
static int command_level = 0;
struct commands *int_cmd;
const struct commands *int_cmd;
char *pdibuf;
char *tbuf;
int len;

View File

@@ -2412,9 +2412,9 @@ mg_userlist_button (GtkWidget * box, char *label, char *cmd,
g_signal_connect (G_OBJECT (wid), "clicked",
G_CALLBACK (userlist_button_cb), cmd);
gtk_widget_set_hexpand (wid, TRUE);
gtk_widget_set_vexpand (wid, TRUE);
gtk_widget_set_vexpand (wid, FALSE);
gtk_widget_set_halign (wid, GTK_ALIGN_FILL);
gtk_widget_set_valign (wid, GTK_ALIGN_FILL);
gtk_widget_set_valign (wid, GTK_ALIGN_CENTER);
gtk_grid_attach (GTK_GRID (box), wid, a, c, b - a, d - c);
show_and_unfocus (wid);
}
@@ -3479,7 +3479,7 @@ mg_create_meters (session_gui *gui, GtkWidget *parent_box)
GtkWidget *infbox, *wid, *box;
gui->meter_box = infbox = box = mg_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 1);
gtk_box_pack_start (GTK_BOX (parent_box), box, 0, 0, 0);
gtk_box_pack_end (GTK_BOX (parent_box), box, 0, 0, 0);
if ((prefs.hex_gui_lagometer & 2) || (prefs.hex_gui_throttlemeter & 2))
{

View File

@@ -1283,25 +1283,13 @@ gtk_xtext_get_preferred_height_for_width (GtkWidget *widget, gint width,
*natural = requisition.height;
}
static void
gtk_xtext_invalidate_resize (GtkXText *xtext, xtext_buffer *buf)
{
buf->pagetop_ent = NULL;
dontscroll (buf);
xtext->force_render = TRUE;
}
static void
gtk_xtext_size_allocate (GtkWidget * widget, GtkAllocation * allocation)
{
GtkXText *xtext = GTK_XTEXT (widget);
int height_only = FALSE;
gboolean resized;
GdkWindow *window;
resized = allocation->width != xtext->buffer->window_width ||
allocation->height != xtext->buffer->window_height;
if (allocation->width == xtext->buffer->window_width)
height_only = TRUE;
@@ -1327,11 +1315,6 @@ gtk_xtext_size_allocate (GtkWidget * widget, GtkAllocation * allocation)
xtext_adj_set_value (xtext->adj,
xtext_adj_get_upper (xtext->adj) -
xtext_adj_get_page_size (xtext->adj));
if (resized)
{
gtk_xtext_invalidate_resize (xtext, xtext->buffer);
gtk_widget_queue_draw (widget);
}
}
}
@@ -1604,17 +1587,6 @@ gtk_xtext_render (GtkWidget *widget, GdkRectangle *area, cairo_t *cr)
gtk_widget_get_allocation (widget, &allocation);
if (xtext->force_render && area->x == 0 && area->y == 0 &&
area->height == allocation.height &&
area->width == allocation.width)
{
xtext->force_render = FALSE;
}
else if (xtext->force_render)
{
gtk_widget_queue_draw (widget);
}
if (area->x == 0 && area->y == 0 &&
area->height == allocation.height &&
area->width == allocation.width)
@@ -4330,9 +4302,13 @@ gtk_xtext_calc_lines (xtext_buffer *buf, int fire_signal)
int width;
int height;
int lines;
GdkWindow *window;
height = buf->window_height;
width = buf->window_width;
window = gtk_widget_get_window (GTK_WIDGET (buf->xtext));
if (!window)
return;
height = gdk_window_get_height (window);
width = gdk_window_get_width (window);
width -= MARGIN;
if (width < 30 || height < buf->xtext->fontsize || width < buf->indent + 30)
@@ -4544,7 +4520,6 @@ gtk_xtext_render_page (GtkXText * xtext)
int startline = adj_value;
int pos, overlap;
GdkWindow *window;
GtkAllocation allocation;
if(!gtk_widget_get_realized(GTK_WIDGET(xtext)))
return;
@@ -4555,9 +4530,8 @@ gtk_xtext_render_page (GtkXText * xtext)
window = gtk_widget_get_window (GTK_WIDGET (xtext));
if (!window)
return;
gtk_widget_get_allocation (GTK_WIDGET (xtext), &allocation);
width = allocation.width;
height = allocation.height;
width = gdk_window_get_width (window);
height = gdk_window_get_height (window);
if (width < 34 || height < xtext->fontsize || width < xtext->buffer->indent + 32)
return;
@@ -4945,13 +4919,12 @@ gtk_xtext_check_marker_visibility (GtkXText * xtext)
static void
gtk_xtext_unstrip_color (gint start, gint end, GSList *slp, GList **gl, gint maxo)
{
gint off1, off2, curlen;
gint off1, off2;
GSList *cursl;
offsets_t marks;
offlen_t *meta;
off1 = 0;
curlen = 0;
cursl = slp;
while (cursl)
{
@@ -4961,7 +4934,6 @@ gtk_xtext_unstrip_color (gint start, gint end, GSList *slp, GList **gl, gint max
off1 = meta->off + start;
break;
}
curlen += meta->len;
start -= meta->len;
end -= meta->len;
cursl = g_slist_next (cursl);
@@ -4976,7 +4948,6 @@ gtk_xtext_unstrip_color (gint start, gint end, GSList *slp, GList **gl, gint max
off2 = meta->off + end;
break;
}
curlen += meta->len;
end -= meta->len;
cursl = g_slist_next (cursl);
}
@@ -5768,7 +5739,6 @@ gtk_xtext_buffer_show (GtkXText *xtext, xtext_buffer *buf, int render)
{
int w, h;
GdkWindow *window;
GtkAllocation allocation;
buf->xtext = xtext;
@@ -5795,9 +5765,8 @@ gtk_xtext_buffer_show (GtkXText *xtext, xtext_buffer *buf, int render)
window = gtk_widget_get_window (GTK_WIDGET (xtext));
if (!window)
return;
gtk_widget_get_allocation (GTK_WIDGET (xtext), &allocation);
h = allocation.height;
w = allocation.width;
h = gdk_window_get_height (window);
w = gdk_window_get_width (window);
/* after a font change */
if (buf->needs_recalc)
@@ -5835,10 +5804,6 @@ gtk_xtext_buffer_show (GtkXText *xtext, xtext_buffer *buf, int render)
if (render)
{
gboolean resized;
resized = buf->window_width != w || buf->window_height != h;
/* did the window change size since this buffer was last shown? */
if (buf->window_width != w)
{
@@ -5859,9 +5824,6 @@ gtk_xtext_buffer_show (GtkXText *xtext, xtext_buffer *buf, int render)
gtk_xtext_adjustment_set (buf, FALSE);
}
if (resized)
gtk_xtext_invalidate_resize (xtext, buf);
gtk_xtext_render_page (xtext);
{
GtkAllocation allocation;