11356 Commits

Author SHA1 Message Date
Mitchell Hashimoto
010e9199ca apprt/gtk-ng: bind template callbacks so we can connect signals in blp 2025-07-23 07:24:00 -07:00
Mitchell Hashimoto
2e68f0a4d4 update zig-gobject pick up fix for ianprime0509/zig-gobject#111 (#8036) 2025-07-23 07:01:48 -07:00
Jeffrey C. Ollie
80b72dd6cb update zig-gobject pick up fix for ianprime0509/zig-gobject#111 2025-07-22 23:45:19 -05:00
Mitchell Hashimoto
eae4124ed8 build(deps): bump namespacelabs/nscloud-cache-action from 1.2.12 to 1.2.13 (#8034)
Bumps
[namespacelabs/nscloud-cache-action](https://github.com/namespacelabs/nscloud-cache-action)
from 1.2.12 to 1.2.13.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9ff6d4004d"><code>9ff6d40</code></a>
Merge pull request <a
href="https://redirect.github.com/namespacelabs/nscloud-cache-action/issues/27">#27</a>
from namespacelabs/niklas-go-single-command</li>
<li><a
href="11812fa33c"><code>11812fa</code></a>
Use a single <code>go env</code> invocation in <code>go</code> cache
mode.</li>
<li><a
href="5dd70d607c"><code>5dd70d6</code></a>
Merge pull request <a
href="https://redirect.github.com/namespacelabs/nscloud-cache-action/issues/26">#26</a>
from namespacelabs/niklas-doc</li>
<li><a
href="834227b234"><code>834227b</code></a>
document brew mode</li>
<li>See full diff in <a
href="c343d6c4c2...9ff6d4004d">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=namespacelabs/nscloud-cache-action&package-manager=github_actions&previous-version=1.2.12&new-version=1.2.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-07-22 19:28:30 -07:00
dependabot[bot]
72220bb69f build(deps): bump namespacelabs/nscloud-cache-action
Bumps [namespacelabs/nscloud-cache-action](https://github.com/namespacelabs/nscloud-cache-action) from 1.2.12 to 1.2.13.
- [Release notes](https://github.com/namespacelabs/nscloud-cache-action/releases)
- [Commits](c343d6c4c2...9ff6d4004d)

---
updated-dependencies:
- dependency-name: namespacelabs/nscloud-cache-action
  dependency-version: 1.2.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-23 01:02:04 +00:00
Mitchell Hashimoto
c979ece916 build-system: Replace deprecated usages of root_source_file on addTests (#8031)
Yet another low-hanging fruit
2025-07-22 15:28:11 -07:00
Mitchell Hashimoto
95ccf3abb2 apprt/gtk-ng: move overlays and event controllers into Blueprint (#8032)
I became far less stupid and figured out how to figure this out by
reading the source code and since then I've been enlightened and can
clean up our Blueprints quite a bit. Yay!

I learned that you can add overlays to a `gtk.Overlay` with the
`[overlay]` child type. And if you embed event controllers directly,
`gtk.Widget` adds them
(https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkwidget.c#L8805-8808).

cc @tristan957 yay!
2025-07-22 15:27:29 -07:00
Mitchell Hashimoto
2544c1fb22 apprt/gtk-ng: move overlays and event controllers into Blueprint
I became far less stupid and figured out how to figure this out by
reading the source code and since then I've been enlightened and can
clean up our Blueprints quite a bit. Yay!
2025-07-22 15:19:50 -07:00
Jayson Reis
d5995ac45c build-system: Replace deprecated usages of root_source_file on addTests 2025-07-23 00:03:44 +02:00
Jayson Reis
acc2ea724f build-system: Replace deprecated usages of addStaticLibrary with addLibrary (#8029)
Hi there, this is just a low-hanging fruit and it also prepares the way
for the future 0.15, which removes addStaticLibrary.
Please, let me know what to do on the `// TODO` comments.
2025-07-22 14:47:18 -07:00
Mitchell Hashimoto
c903754b70 apprt/gtk-ng: clipboard support (#8030)
This ports over read/write clipboard to gtk-ng.

This was a surprisingly massive amount of work! The clipboard
confirmation dialog is non-trivial: it supports multiple read/write
types, blurring, remember choice, and spans multiple Adw versions. I was
able to port all of the functionality into a single
`CloseConfirmationDialog` class and make use of a good amount of
Blueprint binds to simplify some stuff.
2025-07-22 14:45:26 -07:00
Mitchell Hashimoto
04143645f2 apprt/gtk-ng: fixed missing icon for hide button 2025-07-22 14:38:36 -07:00
Mitchell Hashimoto
2855c44118 typos 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
5c21d9a123 prettier 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
7e329d3e4c apprt/gtk-ng: paste can't remember 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
4d39f2728a apprt/gtk-ng: implement remember 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
58a5f3f1f8 apprt/gtk-ng: emit signal when clipboard read/write 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
a6e0878b11 apprt/gtk-ng: hook up all the dialogs 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
b11dadafb1 apprt/gtk-ng: clipboard confirm 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
46e395055d apprt/gtk-ng: implement blur 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
222c3c888d apprt/gtk-ng: clipboard confirmation dialog 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
a91ed99054 apprt/gtk-ng: fix focus deadlock 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
a4f494e2ae apprt/gtk-ng: wip set clipboard 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
c3acbf1a49 apprt/gtk-ng: clipboard read 2025-07-22 14:36:21 -07:00
Mitchell Hashimoto
49cf8d80a6 core: use std.testing.expectEqualStrings where appropriate (#8025) 2025-07-22 13:40:25 -07:00
Jeffrey C. Ollie
cc0a688b5d core: use std.testing.expectEqualStrings where appropriate 2025-07-22 13:08:24 -05:00
Leah Amelia Chen
7eab97653d terminal/osc: allow empty payloads (#8023) 2025-07-23 02:57:04 +09:00
Leah Amelia Chen
c194f7a0cd i18n(zh_CN): update strings 2025-07-22 17:38:49 +00:00
Leah Amelia Chen
a01a40394a i18n: update translations 2025-07-22 17:25:57 +00:00
Leah Amelia Chen
a7b7c10474 gtk: only show clipboard toast when content isn't empty 2025-07-22 17:25:57 +00:00
Leah Amelia Chen
d3f40d70e2 terminal/osc: allow empty payloads
xterm docs explicitly say that empty payloads should be permitted and
are used to clear the selected clipboards, so we need to implement that
correctly. The GTK apprt still shows a "Copied to Clipboard" toast though
and we might want to change that too
2025-07-22 16:50:29 +00:00
Mitchell Hashimoto
820879d2ef apprt/gtk-ng: port surface cgroup logic (#8013)
Absolutely nothing interesting here, just porting our cgroup logic.
2025-07-21 21:24:41 -07:00
Mitchell Hashimoto
8f8f2ebd2d apprt/gtk-ng: surfaces start in cgroup if enabled 2025-07-21 21:21:09 -07:00
Mitchell Hashimoto
578fd7f7f8 apprt/gtk-ng: resize overlay (#8012)
This implements the resize overlay. This is implemented using a new
mostly generic `ResizeOverlay` class that can probably be renamed one
day to something like `TemporaryOverlay` since it is generic to show a
label with a duration.

The only user-facing change here is `after-first` behavior has been
changed in the config to actually mean "after a delay." The
`after-first` behavior has been problematic since we introduced it on
both macOS and Linux because a lot of windowing systems may perform
multiple resizes very quickly at startup (especially tiling ones) so its
less about being "first" and more about semantically only showing the
overlay for user-driven resizes. We should rename this, eventually.

The valgrind suppression file change is mostly to handle an alternate
machine, but its all the same stuff (GTK renderers, GPU drivers, etc.),
nothing new in our app code.
2025-07-21 21:05:14 -07:00
Mitchell Hashimoto
4aaacc04a5 fix logger name 2025-07-21 20:54:16 -07:00
Mitchell Hashimoto
6abb9ec427 ignore valgrind supp file for typos 2025-07-21 20:51:58 -07:00
Mitchell Hashimoto
66ce764d67 valgring supps for VMware VGA 2025-07-21 20:49:08 -07:00
Mitchell Hashimoto
9caf5f5a86 apprt/gtk-ng: ResizeOverlay class 2025-07-21 20:48:59 -07:00
Mitchell Hashimoto
c6abf65dd1 apprt/gtk-ng: resize overlay 2025-07-21 14:02:16 -07:00
Mitchell Hashimoto
e34248a2ad apprt/gtk-ng: hovered url overlay (#8010)
I was going to do more overlays but this introduced enough new
complexity that I want to PR this on its own.

Valgrind clean!
2025-07-21 14:02:10 -07:00
Mitchell Hashimoto
58ccfb558a apprt/gtk-ng: mouse over link to show tooltip 2025-07-21 12:56:03 -07:00
Mitchell Hashimoto
7711f6b5b6 apprt/gtk-ng: setup basic css resources 2025-07-21 09:58:46 -07:00
Mitchell Hashimoto
55a384e165 apprt/gtk-ng: implement quit timer, close app confirmation (#8006)
This PR tidies up our quit logic to match the GTK implementation,
respecting quit delays and also showing a confirmation dialog if
required. There shouldn't be anything surprising here, its mostly a
copy/paste of the old logic with very small tweaks to fit the new style.
2025-07-21 09:32:21 -07:00
Mitchell Hashimoto
2333815b6c apprt/gtk-ng: implement app close confirmation dialog 2025-07-21 09:06:10 -07:00
Mitchell Hashimoto
ab8717e320 apprt/gtk-ng: hook up basic quit functionality (no confirm) 2025-07-21 08:36:08 -07:00
Mitchell Hashimoto
3e83364937 apprt/gtk-ng: hook up quit timer 2025-07-21 08:36:08 -07:00
Mitchell Hashimoto
805c8601a9 apprt/gtk-ng: hook up title, pwd surface properties (#8005)
Continuing to plumb along the APIs necessary basic surface functionality
before moving onto windowing functionality. This adds title/pwd as
properties to Surface, adds abstractions necessary to manage that memory
correctly, and also adds a tiny change to renderers to make everything
slightly more usable under Valgrind.
2025-07-21 08:35:55 -07:00
Mitchell Hashimoto
7e834a1c32 apprt/gtk-ng: some actions 2025-07-21 08:15:42 -07:00
Mitchell Hashimoto
edb5f7c69d slow down our cursor timer under valgrind 2025-07-21 07:28:23 -07:00
Mitchell Hashimoto
e911d53a2e apprt/gtk-ng: get-title 2025-07-21 07:16:19 -07:00