Wez Furlong
3059488753
window: wayland: round up for pixel->surface conversion
2019-12-01 09:32:35 -08:00
Wez Furlong
d53553491a
window: wayland: tidy up some scaling code
2019-12-01 09:26:46 -08:00
Wez Furlong
f15f556054
wayland: add config option to avoid using it
...
Just in case!
2019-12-01 07:56:41 -08:00
Wez Furlong
58cb696593
make pty size consistent with tab bar dimensions
...
This fixes up a series of "we're confused about the screen size"
messages that showed up on startup.
2019-11-30 23:22:37 -08:00
Wez Furlong
68f819e737
avoid resizing terminal tab when scaling changes
2019-11-30 22:03:57 -08:00
Wez Furlong
70f09ef1b4
fix window size calculation when scaling changes
...
I noticed that we were relatively undersized for newly created
windows; there were two problems:
1. We weren't propagating the old rows and cols counts through
to the speculative resize.
2. The speculative resize wasn't implemented on wayland, and
needs a surprising amout of work to actually make the resize
take effect.
2019-11-30 21:27:03 -08:00
Wez Furlong
1960655915
window: wayland: fix segfault on shutdown
2019-11-30 17:35:58 -08:00
Wez Furlong
c1fc335115
window: wayland: implement mouse cursor changing
2019-11-30 17:08:53 -08:00
Wez Furlong
fb54329f6b
window: wayland: tidy up some debugging
2019-11-30 13:32:45 -08:00
Wez Furlong
18d9fabe9f
window: wayland: don't lose keystrokes after clicking titlebar
2019-11-30 13:30:37 -08:00
Wez Furlong
ea61e8c57d
wayland: don't allow clicks in titlebar to go to tabbar
2019-11-30 13:21:37 -08:00
Wez Furlong
317d3105bc
window: wayland: fix routing of point and data events
...
Like the keyboard, the point and data related events are seat
centric and we need to manage our own routing to windows.
2019-11-30 13:05:19 -08:00
Wez Furlong
29a6c62b6c
window: wayland: fix routing of keyboard events
...
The seat is a global thing, so we need to track the active
surface and route events to the appropriate window.
2019-11-30 10:00:34 -08:00
Wez Furlong
2d6d54bfab
window: wayland: scale scroll values by dpi factor
...
Otherwise it feels eg: twice as hard to scroll when the factor is
set to 2x.
2019-11-30 07:52:00 -08:00
Wez Furlong
718b1fb535
window: wayland: make dpi values for sw and gl the same
...
Make the numbers consistent with each other
2019-11-30 07:29:24 -08:00
Wez Furlong
9d1b253379
window: wayland: more clearly distinguish inactive titlebar
2019-11-29 22:18:16 -08:00
Wez Furlong
1f11c82751
window: wayland: improve mouse event processing latency
...
Use a similar queueing technique as with the window size events
2019-11-29 22:03:36 -08:00
Wez Furlong
9085f118d5
window: tidy up some debug prints around selection
2019-11-29 19:16:37 -08:00
Wez Furlong
c3447930b7
window: wayland: queue Configure/Resize/Close events
...
This makes eg: window resizing a bit more smooth and responsive
2019-11-29 18:51:47 -08:00
Wez Furlong
2475969eca
window: enable egl support for wayland
2019-11-29 18:05:09 -08:00
Wez Furlong
c03eda1279
window: fixup clipboard on macos
2019-11-29 12:47:56 -08:00
Wez Furlong
2b795aa08d
window: fix build and clipboard on Windows
2019-11-29 12:32:30 -08:00
Wez Furlong
478d1f53bc
window: bring back our own x11 clipboard handling
...
revives the guts of the x11 clipboard code from back in
d69c718a73
2019-11-29 12:18:52 -08:00
Wez Furlong
4ef20480c5
wayland: implement clipboard
...
This was honestly a PITA because of its complexity. The `clipboard`
crate (now dropped as a dep) didn't support wayland, so I looked at
the `smithay-clipboard` crate, which caused all of my input to become
laggy just by enabling it--even without actually copying or pasting!
Both of those crates try to hide a number of details of working with
the clipboard from the embedding application, but that works against
our window crate implementation, so I decided to integrate it into
the window crate using Futures so that the underlying IPC timing and
potential for the peer to flake out are not completely hidden.
This first commit removes the SystemClipboard type from wezterm
and instead bridges the window crate clipboard to the term crate
Clipboard concept.
The clipboard must be associated with a window in order to function
at all on Wayland, to we place the get/set operations in WindowOps.
This commit effectively breaks the keyboard on the other window
environments; will fix those up in follow on commits.
2019-11-29 12:17:52 -08:00
Wez Furlong
c84a3f6c4c
window: wayland: refresh decorations more proactively
2019-11-28 09:56:25 -08:00
Wez Furlong
00b9f188f3
window: improve avx bounds check
2019-11-28 09:00:13 -08:00
Wez Furlong
21284ce6d5
window: allow wayland and x11 to co-exist
...
This is a pretty gross and coarse "smash them together" commit.
There is some redundancy between the two connection and window
impls that I'd like to unify later, but this lets us build with
support for both systems for now.
2019-11-28 08:55:14 -08:00
Wez Furlong
7b461c1580
software: don't fill the bottom two lines in bg color
...
Fix the math so that we correctly calculate the size of the the
marginal fill area at the bottom when in software rendering mode.
2019-11-28 07:16:46 -08:00
Wez Furlong
edbdda697a
window: wayland: clean up window lifecycle and shutdown
2019-11-28 00:46:42 -08:00
Wez Furlong
eb953a511c
window: wayland: improve keyboard mapping
2019-11-28 00:22:56 -08:00
Wez Furlong
c63766ffe2
window: wayland: input mostly working, and hidpi output
...
Some key mappings are not done yet (arrows!) and need to make
opengl work, but this can run a basic wezterm with the software
renderer under wayland.
2019-11-27 22:00:44 -08:00
Wez Furlong
51ada155df
window: initial wayland render support
2019-11-27 16:39:00 -08:00
Noe Nieto
a159c28be2
Add PureOS to the list of debian-like OS for dependency installation ( #70 )
2019-11-25 12:28:08 -08:00
Wez Furlong
692f51c3c6
docs: Note about automatic config reloading
2019-11-25 00:38:09 -08:00
Wez Furlong
06e7762fdb
docs: serial ports and imgcat
2019-11-25 00:34:35 -08:00
Wez Furlong
43bc9e7eaa
docs: improve multiplexing and ssh connection information
2019-11-25 00:18:05 -08:00
Wez Furlong
cb9fd7db5b
respect enable_tab_bar on config reload
2019-11-24 20:33:14 -08:00
Wez Furlong
80719f419d
changes to ratelimits now take effect on config reload
2019-11-24 20:24:58 -08:00
Wez Furlong
1ba720b28c
automatically reload config when the file changes
2019-11-24 19:20:14 -08:00
Wez Furlong
95c957564a
reload keymap when config is reloaded
2019-11-24 17:25:28 -08:00
Wez Furlong
1bf0402844
fixup submodules
2019-11-24 13:41:32 -08:00
Wez Furlong
e556e03793
fix CI: savannah is down, use a github mirror for freetype
2019-11-24 13:28:02 -08:00
Wez Furlong
fd78a0b3ce
Allow reloading hyperlink rules from the config at runtime
2019-11-24 13:12:54 -08:00
Wez Furlong
7c7825c070
term: extract configuration to a trait
...
This isn't complete but begins the process of extracting
the embedding application configuration into a trait provided
by the application rather than passing the values in at
construction.
This allows the application to change configuration at
runtime.
The first option to handle this is the scrollback size.
2019-11-24 12:43:41 -08:00
Wez Furlong
e56dfa9875
config reloading now also applies to fonts
...
This change also causes any/all windows to pick up the reloaded config
2019-11-24 10:24:33 -08:00
Wez Furlong
88cd29213f
Add hotkey (defaults: SUPER-R, and CTRL+SHIFT-R) to reload config
...
The effects are most noticeable when spawning a new tab;
try changing the background color in the config file,
reloading it and spawning a tab!
2019-11-24 09:27:31 -08:00
Wez Furlong
d06c08e0f3
config: expose configuration generation number
2019-11-24 09:19:14 -08:00
Wez Furlong
8996f897b9
remove Mux::config in favor of config::configuration()
...
The idea is to centralize accessing the config to that
function so that we can implement config reloading.
2019-11-24 09:07:46 -08:00
Wez Furlong
72b55d3982
config: lay foundation for config reloading
2019-11-24 08:28:30 -08:00
Wez Furlong
07c6ca94da
move some code around in config/mod.rs
2019-11-24 07:56:38 -08:00