-
Notifications
You must be signed in to change notification settings - Fork 34
/
ChangeLog
7920 lines (5660 loc) · 268 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2024-05-26 Fred Kiefer <[email protected]>
* ChangeLog: Update for new release
* ANNOUNCE:
* NEWS:
* Documentation/news.texi: Update of release notes for 0.31.0.
* Version: bump to 0.31.0
2022-12-29 Richard Frith-Macdonald <[email protected]>
* ChangeLog: Update for new release
* ANNOUNCE:
* NEWS:
* Documentation/news.texi: Update of release notes for 0.30.0 by Fred.
* Version: bump to 0.30.0
2022-02-22 Riccardo Mottola <[email protected]>
* Tools/xpbs.m (xSelectionNotify:):
Delete property on begin and at every Notify to start and continue
transfer of INCR.
2020-04-26 Ivan Vucica <[email protected]>
* ANNOUNCE:
* NEWS:
* README:
Updating documentation for the 0.29.0 release.
2021-03-12 Fred Kiefer <[email protected]>
* Source/x11/XGServerWindow.m (-styleoffsets:...:): Change NSLog
statement on guessing the offset into a NSDebugLLog statement.
2021-03-03 Riccardo Mottola <[email protected]>
* Source/win32/WIN32Server.m:
actually store in a LONG_PTR the result of GetWindowLongPtr
2021-03-02 Riccardo Mottola <[email protected]>
* Source/win32/WIN32Server.m
* Source/win32/w32_create.m
* Source/win32/w32_general.m
* Source/win32/w32_movesize.m
* Source/win32/w32_windowdisplay.m
* Source/winlib/WIN32GState.m
* Source/cairo/Win32CairoGlitzSurface.m:
Consistently use 64bit safe SetWindowLongPtr/GetWindowLongPtr instead
of a mix with old 32bit versions.
2021-01-27 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (_checkStyle:): do not set application
name and WindowGroupHint to temporary window. Created window designed
to help get window frame offsets only - appicon window will be created
later. This change prevents appicon flickering on WindowMaker at
application start.
(_createWMAppiconHack, _setupRootWindow): WindowMaker hack removed in
favour of solution introduced in _checkStyle:.
2021-01-24 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m: WindowMaker doesn't support
_NET_REQUEST_FRAME_EXTENTS message andthe only way to determine offsets
is creating and mapping window. In this case first mapped window of
application is not appicon window.
Early appicon creating inserted back as _createWMAppiconHack method and
called only if no other way to determine window's offsets (before call to
_checkStyle);appicon window size is set to size icon;
2021-01-16 Fred Kiefer <[email protected]>
* Documentation/news.texi: Fill in some details for pending release.
* Version: Inclease version number.
2020-09-18 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m
(_setupRootWindow, window::::): removed WindowMaker appicon hack and
- now unused - _wmAppIcon variable.
Description: The removed code removed creates and maps zero-sized
window in hope that WindowMaker will recognize app by this event and
create app icon window. Although when application requests window
for appicon through the `-window::::` method call, it returns newly
created and mapped window. This actually happens but application icon
flickers between WM icon creation and application icon window appearance.
This fix based on the fact that root application window (ROOT) is mapped
in `-orderwindow:::` and this is the event of application recognition
by WindowMaker because it is a first application window that is
mapped.
2020-09-17 Sergii Stoian <[email protected]>
* Source/x11/XGServerEvent.m
(_handleTakeFocusAtom:forContext:): if application (window) receives
WM_TAKE_FOCUS in hidden state it means WindowMaker wants us to be
unhidden.
Description: There are 2 protocols defined in XGServerWindow.h:
WMFHideApplication and WMFHideOtherApplications. These protocols exist
to help GNUstep application and WindowMaker notify each other
about "Hide" and "Hide Others" actions. There are no protocols for
"unhide" action.
Test case steps:
1. Open application with window opened.
2. Hide application with "Hide" menu item.
3. Open WindowMaker's "Windows" menu (middle-click on desktop).
4. Select hidden application window.
Application unhides, activates, restored window is focused (receives) input
and "Hide" menu item unselected.
2020-09-16 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m
(hideApplication:): send application's root window to WindowMaker(WM)
because it's a "group leader" that clearly identifies application
inside WM. WM uses XFindContext to get WApplication structure and
"group leader" window ID is a key to find it.
2020-06-18 Riccardo Mottola <[email protected]>
* Tools/font_cacher.m:
If the Library directory is not found, create one for the user.
2020-06-18 Riccardo Mottola <[email protected]>
* Source/xlib/XGFontManager.m
Match return value in case of error (nil instead of NO)
* Headers/xlib/XGPrivate.h
Fix return value of width to CGFloat
2020-06-10 Fred Kiefer <[email protected]>
* Headers/fontconfig/FCFaceInfo.h: Add instancevariable _patternIsResolved.
* Source/fontconfig/FCFaceInfo.m (-matchedPattern): Cache the
resolved pattern and return this. The method characterSet now uses
this cached pattern.
Patch by Josh Freeman <[email protected]>
2020-04-25 Ivan Vucica <[email protected]>
* Source/GSBackend.m:
* Source/cairo/GNUmakefile:
* Source/cairo/CairoContext.m:
* Source/cairo/WaylandCairoSurface.m:
* Source/wayland/GNUmakefile:
* Source/wayland/GNUmakefile.preamble:
* Source/wayland/WaylandServer.m:
* Source/wayland/xdg-shell-protocol.c:
* Source/wayland/README.md:
* Headers/cairo/WaylandCairoSurface.h:
* Headers/wayland/WaylandServer.h:
* Headers/wayland/xdg-shell-client-protocol.h:
* wayland-regenerate.h:
* configure:
* configure.ac:
Initial merge of the Wayland backend into the master branch.
2020-04-13 Ivan Vucica <[email protected]>
* Documentation/announce.texi:
* ANNOUNCE:
Normalize the accompanying text for the release announcement across
core packages: standardize chapter name and GPG information.
2020-04-05 Ivan Vucica <[email protected]>
* ANNOUNCE:
* NEWS:
* README:
Updating documentation for the 0.28.0 release.
2020-03-27 Fred Kiefer <[email protected]>
* Documentation/news.texi: Fill in some details for pending release.
2020-03-12 Sergii Stoian <[email protected]>
* Source/art/GNUmakefile.preamble,
* Source/gsc/GNUmakefile.preamble: do not overwrite ADDITIONAL_INCLUDE_DIRS
value to help RPM build. In spec file ADDITIONAL_INCLUDE_DIRS can be sat
to subdirectories which are create by RPM build tool.
2020-03-05 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (placewindow::): check window frame
in OpenStep and Xlib coordinate systems to decide if it was changed.
Rename `xVal` into more meaninful `xFrame` (holds temporary value of
window frame in Xlib coordiante system).
2020-03-03 Sergii Stoian <[email protected]>
* Headers/x11/XGServer.h,
* Source/x11/XGServer.m (xScreenSize): new primitive method.
* Source/x11/XGDragView.m (XY): use new primitive method to get Xlib
screen height. Fixes broken DnD on vertically aligned monitors.
2020-03-01 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (placewindow::): call XMoveResizeWindow
even if specified frame is equal current. No events will be send to
-gui for this case but X11 window position will be refreshed. It fixes
misplacement of image in slideImage:from:to: (second and all subsequent
calls).
2020-02-26 Sergii Stoian <[email protected]>
* Headers/x11/XGServerWindow.h (_gswindow_device_t): new structure
memeber was added - `osframe`. This member intended to hold cached frame
of windows in OpenStep coordinate system. This makes backend more
reliable to the cases when gui changes NSWindow's _frame ivar before
call to backend methods which make windows placement.
* Source/x11/XGServerWindow.m (placewindow::): use `osframe` structure
member to decide if window change position or size. Removed usage of
temporary `frame` (used only for making desicion).
2020-02-24 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (placewindow::): use window->xframe
as current window frame instead of NSWindow's frame because
`_frame` ivar may be already changed to desired value.
2020-02-21 Fred Kiefer <[email protected]>
* Source/x11/XGServerWindow.m (-_createAppIconPixmaps): Made
preconditions of new code explicit.
* Source/x11/XGServerWindow.m (-orderwindow:::): Set icon pixmap
only for WindowMaker.
2020-02-20 Sergii Stoian <[email protected]>
* Headers/x11/XGServer.h (GSDisplayServer): added new ivar xScreenSize
to hold Xlib screen size dimensions.
* Source/x11/XGServerWindow.m:
(_OSFrameToXFrame:for:): use xScreenSize instead of DisplayHeight.
(_OSFrameToXHints:for:): ditto.
(_XFrameToOSFrame:for:): ditto.
(movewindow::): ditto.
(_screenSize): new static function to get dimensions of Xlib screen from
root window.
(screenList): use xScreenSize instead of DisplayHeight/DisplayWidth.
2020-02-14 Fred Kiefer <[email protected]>
* Source/x11/XGServerWindow.m (screenList): Clean up
implementation again.
2020-02-12 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (screenList): revert back to old code
logic: if XRandR available but can't get screens info for some reasons,
return array with one element (Xlib screen).
2020-02-11 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (screenList): Transform screen
origin into unflipped (OpenStep) coordinate system for XRandR capable
systems. After this change windows and screen will use the same start
of coordinate system for their origins.
2020-02-08 Fred Kiefer <[email protected]>
* Source/xlib/GSXftFontInfo.m,
* Source/xlib/XGFont.m,
* Source/xlib/XGFontManager.m,
* Source/xlib/XGFontSetFontInfo.m,
* Source/xlib/XGGState.m,
* Source/xlib/XGGeometry.m : Fixes after Xrandr change to get xlib
backend to compile again.
2020-02-08 Fred Kiefer <[email protected]>
* Source/x11/XGServerWindow.m (screenList): Clean up implementation.
2020-02-07 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (_XFrameToOSFrame:for:): use Xlib
screen height instead of monitor's because we convert coordinates
from Xlib area.
(movewindow::): use Xlib screen height because we're operating in
Xlib coordinate system.
(screenList): fill monitor depth with value returned by
windowPathForScreen with monitor at index 0 (screen_id already set so
method will get correct screen_id).
* Source/x11/XGServerEvent.m (processEvent:): fixed indentaion.
2020-02-07 Fred Kiefer <[email protected]>
* Source/x11/XGServerWindow.m (swapColors): Made code more
explicit and removed additional copy before calling this function.
This function should now do what the comment above it says.
(alphaMaskForImage): Slightly cleaner code.
* Source/x11/XGServerEvent.m: Prevent compiler warning by moving method.
2020-02-07 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (_OSFrameToXFrame:for:):,
(_OSFrameToXHints:for:): use Xlib screen height instead of monitor's
because we convert coordinates to Xlib area.
* Source/x11/XGServerEvent.m (processEvent:): update monitor_id from
NSWindow's screen number (it could change after event processing).
(mouseLocationOnScreen:window:): use Xlib screen height instead of
monitor's. Added comment to code that should be probably removed
later.
2020-02-03 Sergii Stoian <[email protected]>
* Source/x11/XWindowBuffer.m (windowBufferForWindow:depthInfo:): use
renamed XGServer's `screenVisual` and `screenDepth` methods.
* Source/x11/XIMInputServer.m (initWithDelegate:name:):
use `+xDisplay` instead of `xCurrentDisplay`.
(clientWindowRect:): ditto.
* Headers/x11/XGServerWindow.h (_gswindow_device_t):
renamed `screen` to `screen_id`. `monitor_id` element was added -
this is an index of element in MonitorDevice array.
* Source/x11/XGServerWindow.m:
Removed `screen` parameter from methods which contains it in name.
Methods were renamed to remove `Screen` and `FromScreen`.
(_OSFrameToXFrame:for:): use `monitor_id` instead of `screen`.
(_OSFrameToXHints:for:): ditto.
(_XFrameToOSFrame:for:): ditto.
(_checkStyle:): use renamed methods and `screen_id` window structure
element.
(_rootWindow): renamed from _rootWindowForScreen:, use `defScreen`
instead of removed parameter `screen`, set window structure element
`monitor_id` to 0.
(_createBuffer:): use `screen_id` window structure.
(window::::): use renamed methods, `defScreen`, `screen_id` and
`monitor_id` window scructure elements.
(nativeWindow:::::): ditto.
(setbackgroundcolor::): ditto.
(miniwindow:): ditto.
(_createAppIconPixmaps): removed unused `screen` local variable, use
renamed `screenRContext` method.
(orderwindow:::): use `screen_id` window structure element.
(movewindow::): use `screen_id` window structure element as a parameter
to `boundsForScreen`.
(windowbounds:): ditto.
(windowlist): use renamed `_rootWindow` method.
(setMouseLocation:onScreen:): user renamed methods.
(_blankCursor): ditto.
(imagecursor:::): ditto
(recolorcursor:::): ditto.
(screenList): change with assumption that Xlib screen is one per application.
Failback code to RandR-related always creates arrays with one element (no
enumeration needed). Create `monitor` structure in failback (non-RandR) code.
Use `screen_id` MonitorDevice structure element to hold Xlib screen ID.
(windowDepthForScreen:): assume that `screen` parameter is a Xlib screen ID,
simplify code - `screen` will be used with RandR or not.
(availableDepthsForScreen:): changed with assumption that `screen` is a index
of element in `monitors` structure.
* Source/x11/XGServerEvent.m:
use renamed methods and `screen_id` window structure element.
* Headers/x11/XGServer.h
Removed `screen` parameter from methods which contains it in name.
Methods were renamed to remove `Screen` and `FromScreen`.
(MonitorDevice): `screen_id` was added.
* Source/x11/XGServer.m:
use `screen_id` and rename mathods according to XGServer,h.
(_initXContext): initialize `monitors` array early here before first
use (calls to XGServerWindow methods).
* Source/x11/XGDragView.m (XDPY): use `monitor_id` in `boundForScreen:`
call.
* Source/cairo/XGCairoSurface.m: use `xDisplayRootWindow` XGServer's method.
* Source/art/ARTContext.m (setupDrawInfo:): use `xDisplayRootWindow`
XGServer's method.
2020-01-31 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (boundsForScreen:): check for number of
XRandR's ouputs.
2020-01-31 Riccardo Mottola <[email protected]>
* Source/x11/XGServerWindow.m (boundsForScreen:):
Check if Xrandr did not succeed and provide fallback.
2020-01-31 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (screenList): join RandR and non-RandR
code. Failback to Xlib generic method if any no RandR available or
RandR function call was unsuccessful. In Xlib generic method fill in
monitors array with values.
(boundsForScreen:): use values from cached `monitors` array since
-screenList fills it on both cases with or without RandR available.
2020-01-30 Sergii Stoian <[email protected]>
* Headers/x11/XGServer.h: new structure `MonitorDevice` and ivar
`monitors`for holding cache of monitor's parameters (depth, resolution,
frame). New ivar `monitorsCount` - holds number of items in `monitors` for
RandR or X11 screen count otherwise.
* Source/x11/XGServerWindow.m (screenList): new method for RandR mode -
enumerates monitors and caches their parameters. Returns array of monitors'
indices to get access to monitors` items.
(boundsForScreen:): use cached `frame` parameter of specified monitor.
Use `monitorsCount` instead of ScreenCount().
(windowDepthForScreen:): renamed method parameter; append `x_` prefix to
`Screen *` internal variable; validate `screen` parameter value; use
`defScreen` for RandR enabled code.
(availableDepthsForScreen:): ditto.
(resolutionForScreen:): renamed method parameter; validate `screen`
parameter value.
(boundsForScreen:): renamed method parameter.
* Source/x11/XGServer.m (dealloc): free `monitors` if it was used.
2020-01-26 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (boundsForScreen:): use `screen` variable
to identify output in RandR screen resources. Use `boundsRect` local
variable as return vaalue storage. Cleanup.
* Source/x11/XGServerEvent.m (processEvent:),
* Source/x11/XGServer.m (_initXContext): catch and process RandR event
on default screen.
2020-01-24 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (_OSFrameToXFrame:for:): use
-boundsForScreen: to get correct screen dimensions if RandR is supported.
(_OSFrameToXHints:for:): ditto.
(_XFrameToOSFrame:for:): ditto.
(movewindow::): ditto.
(windowbounds:): ditto.
(setMouseLocation:onScreen:): ditto.
* Source/x11/XGDragView.m: ditto.
* Source/x11/XGServerEvent.m (processEvent:): destroy NSScreen screens
list to be regenereated on next call. This change updates ivars of
NSScreen (_frame, _depth) by recreating NSScreen instances.
(mouseLocationOnScreen:window:): use -boundsForScreen: to get correct
screen dimensions if RandR is supported.
2020-01-23 Sergii Stoian <[email protected]>
* Headers/x11/XGServer.h (GSDisplayServer): RandR event and error base
ivars were added.
* Source/x11/XGServer.m (_initXContext): get RandR event and error base.
* Source/x11/XGServerWindow.m (boundsForScreen:): if Xrandr support
enabled get screen dimensions using Xrandr objects.
* Source/x11/XGServerEvent.m (processEvent:): process Xrandr event and
send NSApplicationDidChangeScreenParametersNotification.
* Source/x11/XGServer.m (_initXContext): subscribe to the Xrandr event.
2020-01-22 Sergii Stoian <[email protected]>
* configure.ac: check for availability of Xrandr library.
* config.h.in: added default value for Xrandr usage.
* configure: regenerate.
2020-01-17 Sergii Stoian <[email protected]>
* Source/art/shfill.m:,
* Source/art/path.m:,
* Source/art/image.m (DPSimage:::::::::::):
fixed type formatting specifiers.
* Source/art/ftfont.m: removed include to ftfont-old.m.
(drawString:at::to::::::::color::::transform:deltas:::widthChar:drawinfo:):,
(drawGlyphs::at::to::::::color::::transform:drawinfo:):,
(drawGlyphs::at::to::::::alpha::color::::transform:drawinfo:):,
(bezierpath_funcs):,
fixed type formatting specifiers; moved interface declaration of FTFontInfo
to ftfont.h; removed GCCism.
* Source/art/ftfont.h: moved interface declaration of FTFontInfo here.
* Source/art/composite.m: fixed type formatting specifiers.
* Source/art/FTFontEnumerator.m (load_font_configuration): fixed type
formatting specifiers.
2020-01-16 Sergii Stoian <[email protected]>
* Source/x11/XGServerEvent.m (_handleTakeFocusAtom:forContext:): use
lowerCamelCase for objects and underscores for primitive types;
do not ignore TakeFocus request if no key window was set
and main application menu receives request.
2020-01-14 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (alphaMaskForImage): renamed from
image_mask().
(swapColors): new function to convert colors from ARGB order into RGBA
(big-endian systems) or BGRA (little-endian systems).
(_createAppIconPixmaps): use swapColors() and remove unused code.
(restrictWindow:toImage:): use alphaMaskForImage().
(imagecursor:::): use swapColors() and remove unused code.
(ALPHA_THRESHOLD): removed duplicate of definition.
2020-01-13 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (_createNetIcon:result:size:): fixed
off-by-one mistake during alpha handling. Enable disabled code and
remove temprorary one.
(window::::): set NetWM icon to window for all EWMH capable WMs even
it's WindowMaker.
(image_mask): new function to create alpha mask for image. It's based
on xgps_cursor_mask() code with additional argument `alpha_treshold`.
This function may be used for images (alpha_treshold == 0) with real
alpha mask and for cursors (if no Xcursor library is used - no alpha
is used, no shadows in cursors, alpha_treshold == 158 is used to cut
transparent pixels).
(_createAppIconPixmaps): icon pixmap creation rewritten to support
images with alpha channel using wraster functions. Use image_mask().
(restrictWindow:toImage:): use image_mask() instead of
xgps_cursor_mask().
(xgps_cursor_mask): removed as image_mask() replaced it.
Guard xgps_cursor_image( with #if - will not be compiled if Xcursor
is used.
(imagecursor:::): use image_mask() instead of xgps_cursor_mask().
2019-12-24 Fred Kiefer <[email protected]>
* Source/cairo/CairoFontInfo.m: Revert to the old defaults for
hinting and allow for all possible values to be set.
2019-05-19 Fred Kiefer <[email protected]>
* Source/cairo/CairoFontInfo.m,
* Source/fontconfig/FCFontEnumerator.m: Small cleanup of last pull
request.
2019-05-19 Fred Kiefer <[email protected]>
* .gitignore: Add copied files as they should never be commited.
* Headers/fontconfig/FCFaceInfo.h: Add method displaName.
* Source/art/FTFontEnumerator.m: Retain the display name.
* Source/fontconfig/FCFaceInfo.m,
* Source/fontconfig/FCFontInfo.m,
* Source/art/ftfont.m: Implement the method displayName.
* Source/cairo/CairoFontInfo.m: Enable font hinting and use
subpixel antialias if the variable back-art-subpixel-text is set.
* Source/fontconfig/FCFontEnumerator.m: Better handling of font
names, weight and the order of fonts.
Merged huge pull request by Jeff Teunissen <[email protected]>
2019-04-20 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (standardcursor::): Getting of
XC_fleur as GSCloseHandCursor was removed because it loads in
NSCursor as image.
2019-04-18 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (standardcursor::): revert resizing
cursor names to the old values upon request of project owner.
2019-04-17 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (getStandardBitmap): send `bitmapFormat`
to _convertToFormatBitsPerSample::::::::. Fixes display of colored
mouse cursor images.
(standardcursor::): cleanup in Xlib cursors handling. Additional
cursor types were added: GSClosedHandCursor, GSOpenHandCursor.
Removed GSDisappearingItemCursor type handling - it loads in NSCursor
from image.
2019-04-12 Sergii Stoian <[email protected]>
* Source/x11/XGServerEvent.m (mouseOptionsChanged:): change double-click
minimum value to 200 and default to 300.
2019-04-11 Sergii Stoian <[email protected]>
* Source/x11/XGServerEvent.m (processEvent:): do not send event if
disabled menu mouse button was released.
2019-04-11 Sergii Stoian <[email protected]>
* Source/x11/XGServerEvent.m (initializeMouse): new method. Calls
-mouseOptionsChanged: and setups observer for defaults changes.
(mouseOptionsChanged:): new method. Read mouse properties from user
defaults.
(processEvent:): respect mouse options on ButtonPress and
ButtonRelease events.
* Source/x11/XGServer.m (dealloc): remove notification observer.
2019-04-06 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m (hideApplication:): new method name for
`hidewindow`.
2019-04-05 Sergii Stoian <[email protected]>
* Headers/x11/XGServerWindow.h (GSMaxWMProtocols): increased number to support
WMFHideApplication.
* Headers/x11/XGGeneric.h: Atoms _WINDOWMAKER_WM_FUNCTION, _GNUSTEP_WM_HIDE_APP
were added.
* Source/x11/XGServerWindow.m (_setSupportedWMProtocols:): added
_GNUSTEP_WM_HIDE_APP protocol suport to the window protocols.
(hidewindow:): implementation of GSDisplayServer method.
* Source/x11/XGServerEvent.m (processEvent:): process _GNUSTEP_WM_HIDE_APP
client message.
2019-04-04 Sergii Stoian <[email protected]>
* Source/x11/XGServerEvent.m (processEvent:):
Send double-click on appicon to the WindowMaker.
2019-04-02 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m:
(orderwindow:::) Map application icon window without focus flickering
for applications executed with argument `-autolaunch YES` in WindowMaker
environment.
2019-03-26 Sergii Stoian <[email protected]>
* Source/x11/XGServerWindow.m:
(setwindowlevel::) Set `Utility` window type for NSFloatingWindowLevel.
2019-01-04 Fred Kiefer <[email protected]>
* Documentation/news.texi: Fill in some details for pending release.
2019-01-04 Fred Kiefer <[email protected]>
* Source/opal/OpalGState.m: Add colour handling for all the
different colour spaces.
2018-12-31 Pavel Shlyak <[email protected]>
* Source/x11/convert.c: Don't leak memory on error handling
2018-12-02 Fred Kiefer <[email protected]>
* Source/gsc/GSGState.m (-setColor:state:): Don't copy values onto themselves.
2018-09-16 Fred Kiefer <[email protected]>
* Source/opal/OpalContext.m (-initWithGraphicsPort:flipped:): Implement.
* Source/opal/OpalContext.m (-GSSetDevice:::): Get height from
surface if no y value is given.
* Source/opal/OpalSurface.m: Rewrite to handle the case where
device is not set.
2018-07-16 Fred Kiefer <[email protected]>
* Source/x11/XGServerWindow.m (_setupRootWindow): Make sure the
root name variable is null terminated.
2018-06-20 Fred Kiefer <[email protected]>
* Source/x11/XGServerWindow.m: Check for bytes_after_ret in
PropGetCheckProperty. Attempt to improve the window border detection.
Based on idea by Tom MacSween <[email protected]>
2018-05-01 Fred Kiefer <[email protected]>
* Headers/x11/XGGeneric.h: Move all atoms in XGGeneric data structure.
* Source/x11/XGServerEvent.m,
* Source/x11/XGServerWindow.m: Use atoms from XGGeneric.
* Headers/x11/XGServer.h,
* Source/x11/XGServerEvent.m (-windowManagerName): New method to
get the name of the window manager.
2018-03-03 Riccardo Mottola <[email protected]>
* configure.ac
* configure
Be consistent in prepending flags to existing LDFLAGS and CPPLFLAGS.
2018-02-25 Yavor Doganov <[email protected]>
* Tools/font_cacher.1: New file.
* Tools/GNUmakefile: Build font_cacher only if WITH_XFT=no.
Install the manpage conditionally.
* configure.ac: Add deprecation warning for art/xlib/xdps.
* configure: Regenerate.
2018-02-09 Yavor Doganov <[email protected]>
* Source/x11/XGServer.m (_initXContext): Call XInitThreads to
enable drawing in secondary threads.
2018-02-05 Yavor Doganov <[email protected]>
* Headers/xlib/GSXftFontInfo.h (GSXftFontInfo): Inherit from
the FCFontInfo class.
(GSXftFaceInfo, GSXftFontEnumerator): New classes inheriting from
FCFaceInfo and FCFontEnumerator.
* Source/xlib/GSXftFontInfo.m: Assume fontconfig is available;
remove HAVE_FC define and !HAVE_FC code.
(allFonts): Remove.
(FcFont, FcFontEnumerator): Remove implementations.
(GSXftFontEnumerator): Override +faceInfoClass and +fontWithName:.
(Ones, coveredCharacterSet): Remove, not needed anymore.
(advancementForGlyph:): Add support for glyph caching.
(setupAttributes): Obtain pattern from the GSXftFaceInfo
instance. Remove unnecessary code for setting ivars already set
by the superclass. Set lineHeight to capHeight.
* Source/xlib/XGContext.m (initializeBackend) [HAVE_XFT]: Remove
HAVE_FC conditional. Set fontEnumerator to GSXftFontEnumerator.
* Source/xlib/GNUmakefile (xlib_OBJC_FILES): Add fontconfig files
in the WITH_XFT conditional.
2018-01-21 Yavor Doganov <[email protected]>
* configure.ac: Add FREETYPE_LIBS to LIBS when building xlib.
* configure: Regenerate
2018-01-20 Yavor Doganov <[email protected]>
* configure.ac: Detect freetype with PKG_CHECK_MODULES.
* configure: Regenerate.
2018-01-03 Yavor Doganov <[email protected]>
* pkg.m4: Update to serial 12.
* configure.ac: Use PKG_PROG_PKG_CONFIG to detect pkg-config.
Remove all PKG_* shell variables.
* configure: Regenerate.
2018-01-01 Ivan Vucica <[email protected]>
* ANNOUNCE
* Documentation/news.texi
* NEWS
* README
* Version:
Releasing 0.26.2 to coincide with the -gui release.
2017-12-21 Ivan Vucica <[email protected]>
* ANNOUNCE
* Documentation/news.texi
* README
* Version
* NEWS:
Releasing 0.26.1 to coincide with the -gui release.
2017-12-10 Ivan Vucica <[email protected]>
* ANNOUNCE
* Documentation/news.texi
* README:
Added release notes to news.texi and regenerated the rest for
0.26.0 release.
2017-10-01 Ivan Vucica <[email protected]>
* Documentation/news.texi:
Add stub 0.26.0 entry.
* Version:
Bump to 0.26.0.
2017-07-17 Daniel Ferreira <[email protected]>
* Source/opal/GNUmakefile: add OpalBridge.m to project.
* Source/opal/OpalBridge.m:
Implement a bridge between NSColor and CGColorRef and a stub for a
bridge between NSImage and CGImageRef. This improves compatibility with
Quartz.
2017-07-17 Daniel Ferreira <[email protected]>
* Headers/opal/OpalSurface.h
* Source/opal/OpalContext.m
* Source/opal/OpalSurface.m:
In Quartz, the "graphics port" bound to an NSGraphicsContext (subclassed
by OpalContext) is a CGContext. We currently initialize one in
OpalSurface if it does not exist, however we do not allow the client to
initialize a graphics context with a custom graphics port, which should
be allowed. We have enabled this feature.
2017-07-31 Fred Kiefer <[email protected]>
* Source/cairo/CairoGState.m (-DPSshow:): Get DPSshow: to work on
scaled windows.
2017-04-16 Fred Kiefer <[email protected]>
* Source/gsc/GSGState.m
* Source/x11/XGDragView.m
* Source/x11/XGServerWindow.m
* Source/x11/XWindowBuffer.m
Fix some clang static analyser warnings reported by
Sebastian Reitenbach <[email protected]>.
2017-04-04 Ivan Vucica <[email protected]>
* Releasing 0.25.1.
2017-01-17 Fred Kiefer <[email protected]>
* Headers/x11/XGGeneric.h: Remove obsolte atom.
* Source/x11/XGServerWindow.m: Clean up code.
* Source/x11/XGServerWindow.m (-setwindowlevel::): Try to set
better level for tool tip windows.
2017-01-08 Fred Kiefer <[email protected]>
* Source/x11/XGServerWindow.m (-_checkStyle:): Ignore invalid
border information.
2016-08-02 Fred Kiefer <[email protected]>
* Source/opal/OpalFontInfo.m
Correct the calculation of line height.
* Source/opal/OpalGState.m
Adjust font placement to changed height.
* Source/opal/OpalSurface.m
Better debug output.
2016-07-15 Fred Kiefer <[email protected]>
* Source/gsc/GSStreamContext.m:
Output the Postscript font name.
2016-06-16 Ivan Vucica <[email protected]>
* ANNOUNCE:
* NEWS:
* README:
* Version:
Releasing 0.25.0.
2016-04-28 Ivan Vucica <[email protected]>
* Headers/cairo/Win32CairoGState.h:
Partially applying r39615 from testplant branch to fix a build
error on MinGW.
Patch by Seong-Gu Lee <[email protected]>.
2016-04-06 Ivan Vucica <[email protected]>
* Source/gsc/GSGState.m:
Remove extraneous semicolons.
Patch by mlytwyn (cherrypicked from testplant branch, r39614).
* Source/cairo/Win32CairoGState.m:
Implement dealloc/copyWithZone on Win32CairoGState instance.
Patch by mlytwyn (cherrypicked from testplant branch, r39618).
* Source/gsc/GSGState.m:
Add return type 'id' to -[GSGState copyWithZone:] method definition.
Patch by mlytwyn (cherrypicked from testplant branch, r39619).
2016-03-01 Seong Gu Lee <[email protected]>
* Headers/win32/WIN32Server.h: tweak for compilation on 64bit windows
2015-12-13 Fred Kiefer <[email protected]>
* Source/opal/OpalFontInfo.m
Prevent a compiler warning.
* Source/opal/OpalGState.m
* Source/opal/OpalSurface.m
Correct the bitmap flags used.
Add a few missing function calls.
2015-11-25 Riccardo Mottola <[email protected]>
* configure
* configure.ac
* config.h.in
Specifically check for X11/extensions/sync.
* Headers/x11/XGServer.h
* Headers/x11/XGServerWindow.h
* Source/x11/XGServer.m
* Source/x11/XGServerEvent.m
* Source/x11/XGServerWindow.m
Enable Sync only on explicit presence of sync.h, not just Xext.
2015-11-13 Wolfgang Lux <[email protected]>
* Source/x11/XGServerWindow.m (_setupRootWindow, window::::):
Create an empty app icon window before eventually checking the
window frame offsets when using WindowMaker. This fixes the issue
that the first GNUstep application started under WindowMaker did
not get a proper application menu.
2015-11-03 Fred Kiefer <[email protected]>
* Source/x11/XGServerEvent.m (-processEvent:): For repeated keys
only eat up the KeyRelease events and pass on all KeyPress.
2015-10-28 Fred Kiefer <[email protected]>
* Source/cairo/CairoGState.m (-GSReadRect:, -DPSimage:..:):
Drawing speedup for slow machines.
Patch by Josh Freeman <[email protected]>
2015-10-16 Fred Kiefer <[email protected]>
* Source/x11/XGServerEvent.m (-processEvent:): Move repeate key
detection from process_key_event() to here to enable filtering out
keyUp events as Cocoa does.
2015-10-09 Fred Kiefer <[email protected]>
* Source/gsc/GSContext.m: Set some defaults.
2015-10-03 Fred Kiefer <[email protected]>
* Headers/gsc/GSGState.h
* Source/gsc/GSContext.m
* Source/gsc/GSGState.m
* Source/cairo/CairoGState.m
Implement per gstate methods for antialias, patternPhase and
compositingOperation.
2015-09-20 Fred Kiefer <[email protected]>
* Source/cairo/CairoGState.m: Preliminary support for anti alias
setting for path drawing.
2015-08-13 Fred Kiefer <[email protected]>
* Source/win32/WIN32Server.m (process_char):
Fix bug that caused F11 keypresses to become F12.
Patch by Adam Fox <[email protected]>
2015-06-05 Fred Kiefer <[email protected]>
* configure.ac: Fix configure for mingw
* configure: Regenerated
Patch by Marcian Lytwyn <[email protected]>
2015-05-26 Sebastian Reitenbach <[email protected]>
* Source/cairo/CairoGState.m
abs -> fabs
* Source/x11/XGGLContext.m
format string fix
* Headers/x11/XGOpenGL.h
glxminorversion is int, not long int
2015-05-22 Fred Kiefer <[email protected]>
* Source/cairo/CairoGState.m: Add support for image interpolation
setting in context.
Patch by Josh Freeman <[email protected]>
2015-05-22 Fred Kiefer <[email protected]>
* Source/gsc/GSGState.m (_fillRect:withPattern:): Add support for
patternPhase.
Patch by Josh Freeman <[email protected]>
2015-05-18 Riccardo Mottola <[email protected]>
* GNUmakefile.postamble
Correctly run config.status again.
2015-05-16 Richard Frith-Macdonald <[email protected]>
* Documentation/news.texi:
* ANNOUNCE:
* NEWS:
* README:
* Version:
Bugfix release 0.24.1
2015-05-13 Riccardo Mottola <[email protected]>
* configure.ac
Copied from base: only warn if compiler is different from the one
configured in make
* configure
regenerated
2015-05-12 Riccardo Mottola <[email protected]>
* configure.ac
pick up gnustep make configured CC, CPP, CXX and check they are
consistent with how make was configured
* configure
regenerated
2015-03-31 Germán Arias <[email protected]>
* Source/win32/WIN32Server.m (-windowEventProc:, -process_mouse_event:):
Start tracking the mouse at the first mouse movement (as suggested in
a note at MSDN documentation) so the window receives the WM_MOUSELEAVE
message when the mouse leave the client area. I don't use the message
WM_NCMOUSEMOVE, as suggested by Fred, because when the user moves