207 Commits

Author SHA1 Message Date
johnseth97
8e223fdcd9
Reworked proxy icon, added config options. 2024-10-24 21:54:08 -04:00
johnseth97
7f898ce01f
Basic proxy icons showing
Removed changes that accidentally carried over from another local
branch.

Basic Proxy Icons showing
2024-10-23 00:40:38 -04:00
Ethan Johnson
1b6778b800
Merge branch 'ghostty-org:main' into macos-window-deocrations-rework 2024-10-21 17:43:37 -04:00
johnseth97
b1f0c490b3 Merge branch 'NSToolbar-Deprication-Warning-Fix' of github.com:johnseth97/ghostty into NSToolbar-Deprication-Warning-Fix 2024-10-21 08:56:01 -04:00
Ethan Johnson
a53b4f684e
Merge branch 'ghostty-org:main' into macos-window-deocrations-rework 2024-10-19 20:40:44 -04:00
johnseth97
96a0ca613a
Fixing deprecation warnings, experiencing new errors. 2024-10-19 18:53:29 -04:00
Mitchell Hashimoto
70acb0d76e
macos: clamp window size to screen size on screen parameter changes
Fixes #2462

This sets up a listener for screen parameter changes. This only triggers
when a screen is added, removed, or a parameter such as its resolution
changes. This doesn't trigger when a window is simply moved from one
screen to another.

On parameter change, we ensure that the window is within the bounds of
the screen. As an exception, if the window was previously already
outside the bounds of the screen, we don't move it back in.
2024-10-19 10:13:16 -07:00
johnseth97
def3a62fb9
Modified window-decorations = none option on macos 2024-10-19 01:03:05 -04:00
Mitchell Hashimoto
eec77e271c
macos: change our minimum version to macOS 13
macOS 12 is officially EOL by Apple and the project only supports
officially supported versions of macOS. Once publicly released, users on
older macOS versions will have to use older released builds.
2024-10-09 14:41:57 -07:00
Mitchell Hashimoto
a2ba7b4948
macos: don't swallow flagsChanged events, breaks system bindings
Fixes #2419
2024-10-09 10:17:39 -07:00
Mitchell Hashimoto
e3dd0edc4f
macos: use local event listener to propagate modifier changes to all
Related to #1547

Concretely, if you are highlighting a link and then release the
modifier, the other surfaces will be notified of this change.
2024-10-05 10:33:15 -10:00
Mitchell Hashimoto
46cbe59076
macos: quick terminal supports fullscreen
Fixes #2330

The quick terminal now supports fullscreen. The fullscreen mode is
always non-native due to the quick terminal being a titleless, floating
window.

When the quick terminal loses focus and animates out, it will always
exit fullscreen mode.
2024-09-30 21:07:16 -07:00
Mitchell Hashimoto
408c33e174
macos: handle non-native fullscreen changing screens 2024-09-30 14:14:01 -07:00
Mitchell Hashimoto
045ecacd8c
macos: fullscreen mode can be changed at runtime 2024-09-30 10:31:11 -07:00
Mitchell Hashimoto
5f9d4f9733
macos: fullscreen=true with non-native fullscreen works
Fixes #1377
2024-09-30 10:02:50 -07:00
Mitchell Hashimoto
718fa6042c
macos: new fullscreen implementation 2024-09-30 09:42:46 -07:00
Mitchell Hashimoto
332e1a1494
macos: new FullscreenMode/Style architecture for fullscreen impls 2024-09-29 21:31:58 -07:00
Mitchell Hashimoto
1977e220f5
macos: slide terminal exit and close window don't kill the window 2024-09-28 10:51:40 -07:00
Mitchell Hashimoto
50fb7331af
macos: base class for terminal controller 2024-09-28 10:41:51 -07:00
Mitchell Hashimoto
bdd0070ffd
macos: render a terminal in the slide window 2024-09-27 18:36:06 -07:00
Mitchell Hashimoto
7befb5a418
macos: fix previous/next tab bindings, improve action logging 2024-09-27 12:24:11 -07:00
Mitchell Hashimoto
4ae20212bf
libghostty: unified action dispatch
First, this commit modifies libghostty to use a single unified action
dispatch system based on a tagged union versus the one-off callback
system that was previously in place. This change simplifies the code on
both the core and consumer sides of the library. Importantly, as we
introduce new actions, we can now maintain ABI compatibility so long as
our union size does not change (something I don't promise yet).

Second, this moves a lot more of the functions call on a surface into
the action system. This affects all apprts and continues the previous
work of introducing a more unified API for optional surface features.
2024-09-26 22:00:11 -07:00
Mitchell Hashimoto
1b31663865
apprt/embedded: new_window can be called without a parent 2024-09-24 18:33:10 -07:00
Mitchell Hashimoto
e89a4f7408
macos: use macOS 15 pointerVisibility to show/hide cursor 2024-09-20 22:02:20 -07:00
Mitchell Hashimoto
c6bbdfb7bf
macos: remove EventSinkHostingView
This was breaking various other features:

  - Popovers stopped working
  - Split divider drag gestures stopped working

For now we document the top part of the window is draggable... we
can look into removing that limitation later.
2024-09-20 22:01:01 -07:00
Mitchell Hashimoto
578aaa1ba6
macos: DraggableWindowView helper (unused currently) 2024-09-20 20:45:27 -07:00
Mitchell Hashimoto
962aa49a45
macos: remove nstitlecontainerview hidden 2024-09-20 19:18:01 -07:00
Qwerasd
16919488da macOS: add macos-titlebar-style = hidden
Hides titlebar without removing the other typical window frame elements
2024-09-20 16:11:51 -06:00
Qwerasd
2852c771b1 macos: fix various titlebar tabs problems in macOS 15.0
- Toolbar overflow indicator showing
- Doubled title on single-tab windows
- Tabs not properly placed in bar on restore of saved window
2024-09-16 22:54:00 -06:00
Mitchell Hashimoto
6cf61f4d7b
macos: show debug build warning even with releasesafe for now 2024-08-31 21:37:22 -07:00
Mitchell Hashimoto
80327402b8
Merge pull request #2120 from edmz/last_tab
macos: jump to last_tab
2024-08-26 20:22:52 -07:00
Mitchell Hashimoto
18419d3589
Clamp initial window size configurations to screen size
Fixes #2145
2024-08-26 10:09:05 -07:00
pnodet
7ff9af1520
style(macos): cleanup trailing spaces 2024-08-21 21:53:09 +02:00
Eduardo Dominguez
262902a28d macos: jump to last_tab 2024-08-19 12:19:00 -06:00
Łukasz Niemier
f9be02a20f chore: clean up typos 2024-08-05 13:56:57 +02:00
Mitchell Hashimoto
9785130c03
macos: add "Reset Terminal" context menu option 2024-08-01 14:58:03 -07:00
Mitchell Hashimoto
5268780f00
macos: comment on clearing tab 2024-07-21 10:09:18 -07:00
Justin Su
f57f9f2ec9
Use 1-indexed values when dealing with tabs 2024-07-21 03:32:43 -04:00
Justin Su
823e073795
Relabel all tabs and clear labels for tabs with no key equivalent 2024-07-21 02:27:51 -04:00
Justin Su
7919cb266e
Update comment 2024-07-21 02:12:47 -04:00
Mitchell Hashimoto
e3f299ac80
macos: relabel tabs when mergeAllWindows is called
Fixes #1902
2024-07-02 14:08:21 -07:00
Mitchell Hashimoto
c9c1bd0531
macos: titlebar tabs should do nothing if no titlebar
Fixes #1876
2024-06-25 10:03:05 -07:00
Cameron Dart
fc52acd47a update config in TerminalController.windowDidLoad and TerminalController.configDidReload 2024-06-10 18:22:28 -07:00
Cameron Dart
29fb70197c macos: surface focus follow mouse 2024-06-10 16:07:33 -07:00
Mitchell Hashimoto
5092cb55ad
Merge pull request #1837 from ghostty-org/titlebar-style
macos: macos-titlebar-style, remove titlebar-tabs option
2024-06-07 13:15:14 -07:00
Mitchell Hashimoto
550a9be241
config: introduce macos-window-shadow 2024-06-07 12:46:14 -07:00
Mitchell Hashimoto
5a026cf1a2
macos: set background color on transparency that matches Terminal.app 2024-06-07 12:35:57 -07:00
Mitchell Hashimoto
25484d2ccc
macos: set background opacity/blur on window controller not surface 2024-06-07 12:31:45 -07:00
Mitchell Hashimoto
4dde7edfab
config: macos-titlebar-style, remove titlebar-tabs option
Fixes #1833

This is an attempt to simplify the logic that has organically grown
convoluted over time with regards to how the titlebar and tab bar is
styled.

This field is one unified field that ONLY addresses titlebar and tab bar
styling. It can be one of "native", "transparent", or "tabs". The
"native" field is the new behavior in this commit: it makes the titlebar
and tab bar appearance be absolutely native. We do not color anything
(if we do its a bug).

The "transparent" option is the previous `macos-titlebar-tabs = false`
setting where the titlebar/tab bar is native but colored according to
the window background color.

The "tabs" option is `macos-titlebar-tabs = true`.

The `window-theme = auto` affect on titlebar appearance has been
removed. Now, the titlebar will NEVER be styled with "native" and MAY be
styled with "transparent" and will ALWAYS be styled with "tabs" (since
that's a totally custom look anyways).
2024-06-07 12:12:48 -07:00
Troels Thomsen
f79674097f Avoid coloring when using native tabs 2024-05-21 08:58:51 +02:00