| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
x11-screen.c accepts selection targets with the MIME type
"text/plain;charset-UTF8", but it should do so case insensitively. The
current code draws an error when working with xfce4-terminal 1.0.4,
which sends lower case. To reproduce, run acme, snarf some text, then
paste in the terminal. acme will report:
acme: cannot handle selection request for 'text/plain;charset=utf-8' (590)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Because of a dangling else, after adding a name to an image with 'N',
it was immediately deleted, resulting in Enoname in response to 'n'.
This went mostly unnoticed, since plan9port itself does not use named
images, but it can break external applications like truedraw[1].
[1]: https://git.sr.ht/~arusekk/truedraw
Fixes: c66b52501b63 ("new draw server")
|
| |
|
|
|
|
|
|
|
|
|
| |
Introduce a new variable set in $PLAN9/config:
$egrep, which is conditionally set to either
`egrep` or `grep -E`, based on platform, and use
this when we want to invoke `egrep`.
This works around the endless warnings from GNU
grep stating that `egrep` is deprecated in favor
of `grep -E`, when run on e.g. Linux.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bug is an intermittent annoyance and does not seem likely to be
fixed soon. It means that every so often my acme becomes unusable
because it behaves as if a mouse button is permanently set.
Avoid that issue by keeping track of mouse button state directly.
While we're about it, fix another annoying issue: under Linux the
FocusOut event reset the kstate field but not the kbuttons field,
meaning that the buttons state could inappropriately persist. This
happened occasionally by accident, but was easy to reproduce: with the
mouse button held down, drag outside the window and click Alt-Tab to
switch away from the window. We see a KeyDown event followed by FocusOut
but no KeyUp event.
Change-Id: I3708316478c80c41806d7157ae9929c6cd84b662
|
| | |
|
| |
|
|
|
| |
An experiment. Let's see if it's any good.
Also document the Mac conventions in devdraw(3).
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Certain XkbOptions in X11 would change keysyms for modifier keys
between the key press and key release.
For example, under the XkbOptions "grp:shifts_toggle", though shift
keys remain Shift_L/R when pressed, they become ISO_Group_Next/Prev
when released.
This behavior makes devdraw unable to detect the release event
correctly and as a result mouse button 1 click always interpreted
as button 3 event after a shift key is used.
|
| | |
|
| |
|
|
| |
Fixes #362.
|
| | |
|
| |
|
|
|
|
| |
Alt X 1234 for U+1234
Alt X X 12345 for U+12345
Alt X X X 103456 for U+103456.
|
| |
|
|
|
|
|
|
|
|
|
| |
Runes in Plan 9 were limited to the 16-bit BMP when I drew up
the RPC protocol between graphical programs and devdraw
a long time ago. Now that they can be 32-bit, use a 32-bit wire
encoding too. A new message number to avoid problems with
other clients (like 9fans.net/go).
Add keyboard shortcut alt : , for U+1F602, face with tears of joy,
to test that it all works.
|
| | |
|
| |
|
|
| |
Setting up for a real window system.
|
| |
|
|
| |
Setting up for a real window system.
|
| |
|
|
|
| |
and not unexpectedly quitting an application.
Fixes #360
|
| |
|
|
| |
Fixes #3.
|
| |
|
|
| |
Fixes #347.
|
| |
|
|
| |
Fixes #54.
|
| |
|
|
|
| |
Fixes #340.
Fixes #343.
|
| |
|
|
| |
Fixes #339.
|
| |
|
|
|
|
|
|
| |
This hides the menu on dock on all screens which is more than we want.
The code was added to fix a problem with Catalina that I can no longer
reproduce, so I guess it works now.
Fixes #336.
|
| |
|
|
|
|
|
| |
Unfortunately this hides the dock even if it is on a
different screen. We need to figure out how to tell.
But this is more usable than not.
Probably.
|
| |
|
|
| |
`window:willUseFullScreenPresentationOptions:` is an instance method
of the protocol `NSWindowDelegate`.
|
| |
|
|
| |
Fixes #273.
|
| |
|
|
|
|
|
|
| |
Need to think a bit more about locking,
but overall it's a working devdraw.
Multiclient mode may not be working
but nothing is using it yet.
|
| | |
|
| | |
|
| |
|
|
|
| |
Also turn mac-srv.c into a generic srv.c,
so we can remove the duplication with x11-srv.c.
|
| | |
|
| | |
|
| |
|
|
| |
We were using osx- and cocoa- but it's not even OS X anymore.
|
| | |
|
| |
|
|
|
|
| |
Now that we only have Metal, we can drop the -metal.
Also now that Carbon is gone we can drop the macargv.c,
and then the -objc from object file names.
|
| |
|
|
|
|
|
| |
We didn't start using Metal until macOS 10.14,
but it was available on 10.13, which is currently
the oldest Apple-supported version of macOS.
Simplify by deleting the old code.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Remote whitespace at the ends of lines.
Remove blank lines from the ends of files.
Change modes on source files so that they
are not executable.
Signed-off-by: Dan Cross <cross@gajendra.net>
|
| |
|
|
|
|
|
| |
The immediate display of the screen sometimes miss the update from
the CPU side memory. No obvious synchronization mechanism is available.
In order to make sure the screen updates properly, we set needsDisplay
again after 16ms delay to ensure a second screen update.
|
| |
|
|
| |
This supports non-live window resize.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* devdraw: cocoa metal screen uses a dirty hack to make everything smooth
* devdraw: cocoa metal screen uses a layer to make fullscreen applications behave
* devdraw: macOS cocoa metal fix resizeimg without img
* devdraw: macOS cocoa metal uses blit instead of render
We directly use the blit command encoder to copy texture to the
framebuffer. We no longer need to compile the metal shader every
time the application starts just for rendering a flat 2D surface.
* travis: add osx images covering 10.13 and 10.14
|
| | |
|
| |
|
|
| |
Some libraries that depend on devdraw don't know about
32x32 cursor -- mainly 9fans.net/go/draw.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
It is possible to receive multiple screen resize events, and resizeimg
would be called for different sizes, before _flushmemscreen actually
gets called with rectangle sizes different from the most recent
resizeimg call. The size mismatch would trigger illegal memory
access inside _flushmemscreen.
This commit protects _flushmemscreen by returning early if the requested
rectangle is outside of the current texture rectangle.
|
| |
|
|
| |
Fixes bug where devdraw does not "notice" mouse position after task
switch. Fixes https://github.com/9fans/plan9port/issues/232.
|
| | |
|
| |
|
|
|
| |
This replaces the pixel-art scaling algorithm used for upscaling before.
The results were not crisp enough to serve as everyday cursors.
|