Bartosz Taudul
8ebe62ed85
Fix welcome window resizes.
2024-03-15 20:25:00 +01:00
Bartosz Taudul
55f9341aec
Scale ImGui windows when DPI changes.
...
Code is directly lifted from ImGui, with certain known caveats.
2024-03-15 20:19:32 +01:00
Bartosz Taudul
18f2631e6e
Remove AUTHORS file.
2024-03-13 19:14:59 +01:00
Bartosz Taudul
3b9e7a1838
Update stb_image to 2.29.
2024-03-13 00:34:19 +01:00
Bartosz Taudul
c0789c20cb
Add CppCon 2023 video.
2024-03-07 17:49:39 +01:00
Bartosz Taudul
9ccc754143
Fix macos,
2024-03-02 00:30:50 +01:00
Bartosz Taudul
746b6c6246
Don't ignore user scale when DPI scale changes.
2024-03-02 00:21:08 +01:00
Bartosz Taudul
b329eb1fcc
Change way of updating fonts in View.
...
This makes the whole process more easy to follow. It also fixes a crash
bug that was occuring when Wayland output scale changed.
2024-03-01 23:43:53 +01:00
Bartosz Taudul
bdfcc5b814
Add missing ImGui renderer shutdown to the Wayland backend.
2024-03-01 22:11:30 +01:00
Bartosz Taudul
ec549c4831
Update ImGui to 1.90.4 + docking.
2024-03-01 22:09:08 +01:00
Bartosz Taudul
ea0471f9d0
Fix wl_surface v6 listener.
2024-02-28 13:30:59 +01:00
Bartosz Taudul
a1aa87df87
Add ellipsis to standard font.
2024-02-27 02:04:29 +01:00
Bartosz Taudul
b6562f1784
Merge pull request #715 from YaLTeR/fix-wayland-scale
...
Fix and update Wayland scale handling
2024-02-24 11:45:35 +01:00
Bartosz Taudul
5461427493
Print error message when opening a trace from command line fails.
2024-02-03 16:25:01 +01:00
Ivan Molodetskikh
fcdc96748e
wayland: Use preferred_buffer_scale when available
...
On wl_compositor >= 6 we bind v6 and use preferred_buffer_scale.
Otherwise we bind 4 and do as before.
No other changes are needed for the version bump as Tracy doesn't use
wl_surface_attach() with nonzero coordinates.
2024-01-24 12:43:42 +04:00
Ivan Molodetskikh
16434f116c
Add a way for Backend to signal scale changes
...
On Wayland the scale now changes to the correct value as the Tracy
window is moved across monitors.
If the scale is overridden from environment, it does not change, just
like before.
2024-01-24 12:34:23 +04:00
Ivan Molodetskikh
bf3bd28bfa
wayland: Keep track of entered outputs for scale
...
Wayland kindly informs us which outputs the surface is on, to be used
for scale computation (at least on wl_compositor < 6). On mixed DPI
setups this fixes Tracy potentially using a higher scale than the output
it's displayed on.
However, as is, this commit results in Tracy always using scale 1,
because at the point of backend creation (which is when the scale is
queried) the surface is not yet displayed on any outputs, so a scale of
1 is assumed.
2024-01-24 12:19:52 +04:00
Bartosz Taudul
c4863d4324
Bump ImGui to 1.90.1.
2024-01-11 13:21:19 +01:00
Bartosz Taudul
b262cb2428
Handle load failure exceptions.
2023-12-31 14:16:06 +01:00
Bartosz Taudul
d64307be91
Move bad version popup out of file selector ifdef check.
2023-12-31 13:54:04 +01:00
Bartosz Taudul
cf1e91b853
Bump ImGui to 1.90 + docking.
2023-11-15 18:47:54 +01:00
Michael Leslie
daba5ae1d8
add qnx support for instrumentation profiling only
2023-10-24 17:40:13 -07:00
Bartosz Taudul
93537dff33
Merge pull request #636 from ids1024/xdg-decoration
...
wayland: Fix use of xdg-decoration protocol
2023-10-09 23:56:42 +02:00
Ian Douglas Scott
8fe6c39bb5
wayland: Fix use of xdg-decoration protocol
...
`zxdg_toplevel_decoration_v1` isn't a global, so the code handling it as
one wasn't doing anything. Instead,
`zxdg_decoration_manager_v1_get_toplevel_decoration` returns it.
This fixes the behavior for compositors that support server-side
decoration, but do not default to it until explicitly requested by the
client.
2023-10-09 14:32:42 -07:00
Bartosz Taudul
009cc92320
Update ImGui to 1.89.9 + docking.
2023-10-09 23:30:57 +02:00
Fabio Arnold
ed54848536
Fix macOS DPI scaling
2023-08-23 12:24:22 +02:00
Bartosz Taudul
c689e9e0aa
Adjust language to no longer specify "all cores".
2023-08-05 12:08:29 +02:00
Bartosz Taudul
6c6ec00251
Handle failures when loading connection history.
2023-06-29 23:59:54 +02:00
Bartosz Taudul
c57b8994f6
Reduce required version of wl_seat protocol to 5.
...
The latest wl_seat protocol version is 9, but the last addition was made
to it in version 5. Wayland is stupid.
2023-05-25 18:48:45 +02:00
Bartosz Taudul
2759f96c0e
Add headers required on FreeBSD.
2023-05-23 23:48:48 +02:00
Bartosz Taudul
c79154c87b
Extract processing client broadcast messages to a separate function.
2023-05-07 16:11:42 +02:00
Bartosz Taudul
bd2f903c08
Add persistent target FPS option.
2023-05-01 19:09:27 +02:00
Bartosz Taudul
ba41255ccc
Adjust wording.
2023-05-01 15:48:33 +02:00
Bartosz Taudul
555b3628ee
Expose configuration options in the UI.
2023-05-01 15:32:16 +02:00
Bartosz Taudul
b68ada2abd
Load/save global config.
2023-05-01 15:13:58 +02:00
Bartosz Taudul
efce727ad4
Add extern "C" to ini.h.
2023-05-01 15:13:00 +02:00
Bartosz Taudul
a2d470690f
Pass global config to View.
2023-05-01 14:41:38 +02:00
Bartosz Taudul
2c227af4f3
Add rxi's ini sources.
...
https://github.com/rxi/ini
13a254c9e38def8924a83badfea5eda5a01b9295
2023-05-01 14:08:28 +02:00
Bartosz Taudul
0f0ac2d6c5
No longer need glGenerateMipmap.
2023-04-29 13:11:16 +02:00
Bartosz Taudul
e1e4699a52
Load custom mip chain for zigzags.
2023-04-29 13:10:58 +02:00
Bartosz Taudul
474dc6945e
Draw zigzags using bitmaps.
2023-04-27 23:17:35 +02:00
Bartosz Taudul
62ec968f24
Load zigzag texture.
2023-04-27 23:17:34 +02:00
Bartosz Taudul
383f1ea8f1
Update OpenGL loader.
2023-04-27 23:17:34 +02:00
Bartosz Taudul
f7b12e2dda
Add zigzag bitmap.
2023-04-27 23:17:34 +02:00
Bartosz Taudul
fa815f3c3b
Remove redundant check.
2023-04-24 23:57:27 +02:00
Bartosz Taudul
f60e51c91b
Fix std::move() usage.
2023-04-16 16:47:47 +02:00
Bartosz Taudul
a0221c8660
Pass function objects through const references.
2023-04-16 16:44:18 +02:00
Bartosz Taudul
778d0cb3fb
Socket::ReadUpTo() doesn't support timeouts.
2023-04-16 12:19:48 +02:00
Bartosz Taudul
72dfab80f8
Update ImGui to 1.89.5 + docking.
2023-04-16 00:22:05 +02:00
Bartosz Taudul
e62a383833
Update imgui to 1.89.4 + docking + emscripten glfw fix.
2023-03-20 23:54:46 +01:00
Bartosz Taudul
b0174f2f3a
No privilege elevation is possible on emscripten.
2023-02-20 21:36:18 +01:00
Bartosz Taudul
fad09a452a
Update ImGui to 1.89.3 + docking.
2023-02-14 17:57:14 +01:00
Bartosz Taudul
cc5e97c88d
Bump stb_image.h to 2.28.
2023-01-31 22:55:18 +01:00
Bartosz Taudul
096293110b
Update ImGui to 1.89.2 + docking.
2023-01-05 19:15:58 +01:00
Bartosz Taudul
6e70b7c20b
Push keyboard modifiers to ImGui.
2022-12-22 17:48:14 +01:00
Bartosz Taudul
797d5df850
Push key events to ImGui.
2022-12-22 17:39:30 +01:00
Bartosz Taudul
dff2a6d6c2
Implement XKB text compositing.
2022-12-20 22:19:45 +01:00
Bartosz Taudul
b7affdd92d
Create XKB compose table/state.
2022-12-20 21:55:31 +01:00
Bartosz Taudul
0831b3f301
Push focus events to ImGui.
2022-12-20 17:11:15 +01:00
Bartosz Taudul
170a961d8d
Tweak mouse wheel behavior on Wayland.
2022-12-20 16:54:28 +01:00
Bartosz Taudul
aa0e899573
Initialize XKB state.
2022-12-20 00:22:27 +01:00
Bartosz Taudul
7106b0c5ef
Hook no-op keyboard handling.
2022-12-19 23:46:08 +01:00
Bartosz Taudul
3b58f5596d
Detect precise (touchpad) scroll events.
...
Currently the wheel axis Y change has little impact, as the zoom in/out logic
assumes wheel events are discrete.
2022-12-19 21:26:59 +01:00
Bartosz Taudul
ac87b05dcb
Fix scroll events direction on Wayland.
2022-12-19 21:11:53 +01:00
Bartosz Taudul
7f00ae8c83
Fix mouse buttons order on Wayland.
2022-12-19 21:10:55 +01:00
Bartosz Taudul
b80ede3ec6
Limit time delta to 0.1s.
2022-12-11 18:01:32 +01:00
Bartosz Taudul
9e6214350c
Support Hi-DPI mouse cursor.
2022-12-11 17:50:05 +01:00
Bartosz Taudul
1f4562e51d
Support Hi-DPI.
2022-12-11 17:43:41 +01:00
Bartosz Taudul
63ba9cccf2
Track max output scale.
2022-12-11 17:29:28 +01:00
Bartosz Taudul
3d42732795
Track window maximized state.
2022-12-11 16:45:35 +01:00
Bartosz Taudul
d5191ccbd4
Enable alt-space menu on windows.
2022-12-09 19:04:45 +01:00
Bartosz Taudul
ee3d5a94a7
Fix apfel check.
2022-12-09 18:59:01 +01:00
Bartosz Taudul
462d8103aa
Mark activity on window XDG surface reconfiguration.
...
This happens for example when the window is resized, or maximized.
2022-12-04 21:12:50 +01:00
Bartosz Taudul
12a109d303
Use XDG decoration protocol.
2022-12-04 21:12:50 +01:00
Bartosz Taudul
9d7cdf2a29
Add xdg-decoration protocol.
2022-12-04 21:12:50 +01:00
Bartosz Taudul
7e5ee54f93
On POSIX check if UID is 0.
2022-11-27 22:35:19 +01:00
Bartosz Taudul
97c38077cc
Explain it makes no sense to run server with admin rights.
2022-11-27 22:24:42 +01:00
Bartosz Taudul
59f7870345
Track elevation state.
2022-11-27 21:53:47 +01:00
Bartosz Taudul
7e23d873dc
Check elevation status on Windows.
2022-11-27 21:53:47 +01:00
Bartosz Taudul
e1395f5a53
Rename surfaceListener to include xdg part.
2022-11-10 00:02:20 +01:00
Bartosz Taudul
d26ae1fbb5
Manage list of outputs.
2022-11-10 00:00:50 +01:00
Bartosz Taudul
8b9246e312
Add global remove callback.
2022-11-09 23:11:45 +01:00
Bartosz Taudul
c0035a492f
Update ImGui to 4d5da74.
2022-11-08 23:47:59 +01:00
Bartosz Taudul
53d54092b0
Implement attention requests.
2022-11-08 01:36:45 +01:00
Bartosz Taudul
a7ba5dd9df
Change xdg-shell to private-code.
2022-11-08 01:04:23 +01:00
Bartosz Taudul
8dafadb267
Add xdg-activation protocol.
2022-11-08 01:04:23 +01:00
Bartosz Taudul
1173cbc639
Move wayland protocol to a subdirectory.
2022-11-08 01:04:23 +01:00
Bartosz Taudul
e6f74c04d6
Wayland cursor handling is fucking stupid.
2022-11-08 00:31:57 +01:00
Bartosz Taudul
e227cfe100
Process pointer events.
2022-11-07 21:46:17 +01:00
Bartosz Taudul
4f7fba1fed
Hook seat.
2022-11-07 01:20:48 +01:00
Bartosz Taudul
9645998a97
Set app id.
2022-11-06 01:33:15 +01:00
Bartosz Taudul
1ccc0c39ea
Delay toplevel creation until after OpenGL initialization.
2022-11-06 01:14:56 +01:00
Bartosz Taudul
4d74968515
Wait for xdg_surface to be configured.
...
Some compositors require configuration event to happen before getting
toplevel.
2022-11-06 01:01:07 +01:00
Bartosz Taudul
a2f774dc20
Downgrade wl_compositor protocol to version 4.
...
Some compositors do not implement protocol in version 5.
2022-11-06 00:43:09 +01:00
Bartosz Taudul
ce797d82d5
Add minimal wayland backend.
2022-11-05 22:41:54 +01:00
Bartosz Taudul
a9be9d65de
Add xdg-shell protocol.
2022-11-05 22:41:26 +01:00
Bartosz Taudul
a6a265b548
Display notification if there's a problem with file selector.
2022-10-30 00:42:45 +02:00
Bartosz Taudul
d523c728ea
Do not display unknown PIDs.
2022-10-26 23:23:07 +02:00
Bartosz Taudul
86f88714ae
Add compatibility with previous broadcast versions.
2022-10-26 23:23:07 +02:00
Bartosz Taudul
fdb130651d
Detect if hardware supports S3TC.
2022-10-15 12:56:19 +02:00
Bartosz Taudul
5b1c1119c5
Create icon texture while waiting for icon to load.
2022-10-15 12:16:18 +02:00
Bartosz Taudul
55f2da581a
Check if glfwRequestWindowAttention() is available.
2022-10-15 01:15:22 +02:00
Bartosz Taudul
d0968844d8
Only request attention if window has no focus.
2022-10-13 20:44:31 +02:00
Bartosz Taudul
c89c4f46ea
Hook up attention callback.
2022-10-13 19:31:47 +02:00
Bartosz Taudul
4a1e93841d
Add attention request function to windowing backend.
2022-10-13 19:22:21 +02:00
Bartosz Taudul
de3190657e
Make sure window redraw is active on refresh callback.
2022-10-13 19:08:37 +02:00
Bartosz Taudul
05f4efa2f4
Display PID in available client tooltip.
2022-10-09 22:01:09 +02:00
Bartosz Taudul
76213331f4
Store PID in broadcasting clients data.
2022-10-09 21:59:18 +02:00
Bartosz Taudul
f2f36876e1
Remove unnecessary check.
2022-10-09 21:59:10 +02:00
Bartosz Taudul
63743f2760
Don't listen for broadcasts on emscripten.
2022-10-08 14:51:21 +02:00
Bartosz Taudul
fadd103169
Disable update check on emscripten.
2022-10-08 14:44:53 +02:00
Bartosz Taudul
ec0757c03a
Change file selector to work with callbacks.
2022-10-06 18:12:50 +02:00
Bartosz Taudul
a4e39f3d5f
Enable redraw after screen resize.
2022-10-06 17:32:25 +02:00
Bartosz Taudul
3ca61ad227
Extract file selector functionality.
2022-10-05 22:50:17 +02:00
Bartosz Taudul
cf61fbf7ba
Support hidpi.
2022-10-02 13:51:28 +02:00
Bartosz Taudul
4b5a823d39
Adapt render size to fit browser window.
2022-10-02 13:40:14 +02:00
Bartosz Taudul
75b95233ea
Preload embedded trace on emscripten.
2022-10-02 00:41:08 +02:00
Bartosz Taudul
78169326b3
Setup main emscripten loop.
2022-09-30 00:57:07 +02:00
Bartosz Taudul
863b36d04b
Emscripten expects GLES2 (WebGL 1).
2022-09-30 00:39:42 +02:00
Bartosz Taudul
1d482a417d
Use std::move(), not move().
2022-09-29 21:02:05 +02:00
Bartosz Taudul
8b17522dff
Use proper glfw version checks.
2022-09-29 00:45:48 +02:00
Bartosz Taudul
05a3ab8a33
Mark activity when ImGui windowing navigation target is on.
2022-09-28 17:57:29 +02:00
Bartosz Taudul
26d269e857
Non-empty list of client broadcasts marks activity.
2022-09-28 01:34:31 +02:00
Bartosz Taudul
c8c684e9bc
Clear list of clients when View is active.
2022-09-28 01:34:20 +02:00
Bartosz Taudul
b24506492a
Move client broadcasts processing earlier in code.
2022-09-28 01:31:38 +02:00
Bartosz Taudul
f5abdd489d
Mark activity on HTTP response.
2022-09-28 01:24:41 +02:00
Bartosz Taudul
fb4d76469b
Activity tracking global variable.
2022-09-28 00:36:00 +02:00
Bartosz Taudul
c7ec2a9e0e
Check for popup background fade animation.
2022-09-28 00:26:29 +02:00
Bartosz Taudul
b3e9a03856
Check for activity in View.
2022-09-28 00:26:03 +02:00
Bartosz Taudul
a8be0bc91e
Disable cursor blinking.
2022-09-27 22:13:31 +02:00
Bartosz Taudul
258fd73e6e
Remove dead code.
2022-09-27 22:12:18 +02:00
Bartosz Taudul
232fb5aaa4
Disable screen redraw when there are no input events.
2022-09-27 22:02:08 +02:00
Bartosz Taudul
1e7c6e3f49
Handle iconification by waiting for events.
2022-09-27 17:32:01 +02:00
Bartosz Taudul
ff8a85ea2d
Use small font for debug data in about window.
2022-09-26 01:15:37 +02:00
Bartosz Taudul
8c5dc57359
Add ellipsis to fixed font atlas.
2022-09-24 00:29:21 +02:00
Bartosz Taudul
be392a76fb
Move TracyVersion.hpp to common.
2022-08-27 16:05:36 +02:00
Bartosz Taudul
49bda91be5
Cosmetics.
2022-08-20 01:45:55 +02:00
Bartosz Taudul
4bcb59bbe6
Update font awesome and migrate to v6 headers.
2022-08-17 12:07:38 +02:00
Bartosz Taudul
d9d31e4d51
Make fixed font more compact.
...
Note that the negative glyph spacing is const here, regardless of the font
scaling. The alternative of using proportional spacing in reality does not
work as good as it sounds. With fractional scaling some of the glyphs will
no longer land on exact pixel boundaries, which results in blurry text.
Looking at the potential solutions for this problem is moot point, as with
the non-fractional scale of 2x and glyph spacing of -2, there is no longer
enough space separating some letters, which is especially visible in words
like "common" or register "xmm", where the "mm" pair becomes joined.
2022-08-16 13:16:21 +02:00
Bartosz Taudul
df00870a4b
InputBuf is no longer than 255 bytes.
2022-08-14 18:20:39 +02:00
Bartosz Taudul
07d921b322
Cosmetics.
2022-08-14 11:29:36 +02:00
Bartosz Taudul
7dbfed9aea
Drop access to native window.
...
The new NFD library is not using this information, and the old one was using
it only on Windows. Oh well.
Removal of this functionality also removes some build-time decisions.
2022-08-12 21:44:24 +02:00
Bartosz Taudul
d63d1c9e7f
Load icon during rendering backend setup.
...
Creating a new window along with setting up an OpenGL context is universally
a lengthy operation. Decode the icon image on a separate thread.
2022-08-07 17:13:38 +02:00
Bartosz Taudul
46292b0719
Dynamically track saved window state.
2022-07-28 00:48:14 +02:00
Bartosz Taudul
aa07820eb7
Rely solely on GLFW DPI handling.
2022-07-28 00:31:10 +02:00
Bartosz Taudul
b86f1a907a
Move all GLFW code to a separate class.
2022-07-28 00:24:52 +02:00
Bartosz Taudul
1e8029c4d9
Display icon in the about screen.
2022-07-28 00:24:50 +02:00
Bartosz Taudul
1eacce9e06
Create texture with resized icon.
2022-07-28 00:24:49 +02:00
Bartosz Taudul
2c31ba8016
Don't free icon pixel data.
2022-07-28 00:24:48 +02:00
Bartosz Taudul
add5c1e328
Instantiate stb_image_resize.
2022-07-28 00:24:48 +02:00