-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
8875 lines (7125 loc) · 336 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
CHANGELOG
----------------------
[2024-07-12: Jim Turner]
* Fix "Cascade Placement" window placement option due to failure to ever
reset the "starting position" from which to offset a window to be cascaded.
An initial start position of 0 (x=y=0) was set when AS starts up, but
continually grew larger by 25 pixels (offset) which applied in both x and y
directions each time a new window was placed via the Cascade placement option.
When the start position inevidibly exceeded the dimensions of the screen or
windowbox, future windows would be positioned as far "SouthEast" as possible
from that point on. The annoyance that prompted me to take action was if
opened 2 or more windows the same size, ie, two editor sessions, the 2nd window
would be placed exactly over the first completely obscuring it!
The fix employed replacing the "cascade_pos" field in struct ASWindowBox in
libAfterStep/asfeel.h with 2 new fields "cascade_posx" and "cascade_posy" to
allow independent resetting of only the field necessary. Then we reset each
one when the corresponding position of a window being placed would have
resulted in the window being placed off that edge of the screen (either right
for x or bottom for y) without adjustment. We also reset both fields to the
position a new window is placed successfully via "Smart Placement" or
"Random Placement" so that subsequent cascaded windows will generally be
cascaded relative to that one. I chose to reset the field to zero when a
cascaded window needs to be adjusted in that dimension instead of just back to
the window's adjusted starting point to avoid too much of a diagonal look
continuing until a reset would've had to be forced when the starting point
exceeded the screen or window-box's size in that dimension. The effect of this
"resetting" is analogus to pressing the carriage-return lever on a n old
typewriter when typing gets to the end of a line! These more frequent resets
produce a more desirably random placement appearance spreading windows
more evenly over the available screen real estate while still keeping a good
"cascading" effect, such as when opening several terminal windows in
succession. This should greatly reduce another annoyance where windows can
sometimes be *seemingly* randomly placed with buttons on the bottom row are
cut off below the screen, which I hadn't realized were likely being caused by
this issue (due to never resetting the cascade starting point)! I've also
fixed the cascade option to work properly and predictably when any of the
"ReverseOrder" options are set for the window-box, ie. "ReverseOrder" (both),
"ReverseOrderHorizontal", or "ReverseOrderVertical". These cause windows to
cascade to the NorthWest, SouthWest, and NorthEast respectively. (Normally
windows cascade SouthEast). For reversed dimensions, we compare with the left
edge of the window-box and reset to the right edge (instead of zero), and
decrement the starting position.
TODO: The current cascade offset is hardcoded to 25 pixels, but should
probably be either configurable or calculated from the fixed titlebar
dimension (height, for horizontal titlebars, width if vertical ones, with a
default of 25 if titlebars are not used)!
Cascade can not be set as the "FirstTry" option, as it always suceeds, so my
recommended settings are: "FirstTry SmartPlacemt (or RandomPlacement)"
followed by "ThenTry Cascade" (in "Feel" file) for best results.
[2023-10-22: Jim Turner]
* Merge dbus changes, configuration and makefile improvements, and many code-
formatting cleanups, minor fixes, spelling corrections made upstream by Remmy
(https://github.com/afterstep/afterstep/) since we originally forked off our
version years ago.
* Enable mini-pixmap icons on popup Windowlist menus without having to enable
the MenuMiniPixmaps look-file option, unless the WinListHideIcons feel-file
option is also set. I did this because I like app. icons on this menu without
having to enable MenuMiniPixmaps (for other menus) which uses a lot more
memory and resources. There appears to be no significant resource "cost" in
this as these are already loaded for WinList (barring WinListHideIcons being
set! Also reduced resource usage by NOT loading any of the (other menu mini-
pixmaps) unless MenuMiniPixmaps flag is actually set (previously they were
always being queried, even if not shown).
* Make the "Sound" module build an install along with the rest of AfterStep
and appear in the Modules menu list (previously had to be manually build and
installed from within the src/Sound2 subdirectory because it was omitted for
some reason and I hadn't figured out how to make it build with everything else.
[2023-10-13: Jim Turner]
* Redo latest titlebar-push feature to also make work when pressing on
unfocused windows, fix issue with frame elements and/or bevels sometimes
remaining pressed after moving focus to another window. Also fixed regression
that caused AfterStep menus and apps with menubars to sometimes fail to pop up
when clicking on a menubar button on an unfocused window. Pbm. was that we
must suppress the automatic focus-in event on mousepress and then focus in
manually when the mouse is released on the titlebar or other window frame
elements in order to properly visualize the "press & release" animation, but
must NOT do this (must allow the auto focus-in event on mousepress) when
pressing on the internal parts of the app. window such as a menubar button, or
AS menu!
[2023-10-05: Jim Turner]
* Add new option to toggle the focused window's titlebar's "style" to the
"sticky_window_style" (from "focused_window_style") while pressing and holding
down the mouse over the window's titlebar to provide additional "pressed"
state feedback (even if titlebar is not styled with bevels). Repurposed
dormant "TitlebarNoPush" look option to turn this back OFF if set.
* Fixed old AfterStep bug that inconsistantly rendered unfocused window's
titlebar bevels when focus lost due to another window's titlebar being clicked
to change window focus - found bug whilst working on the new titlebar option
described above (and not caused by it).
[2023-09-12: Jim Turner]
* Fix Ident (Identify) to now work properly (ability to select a window using
the mouse ("crosshair" cursor) without a a window argument, ie. when called
from the general Windows menu (vs. from the titlebutton Window menu associated
with a specific window). This makes it posible to get identification info.
from windows without a titlebar.
[2023-09-04: Jim Turner]
* Fix a cpl. more click-2-focus "edge cases", namely *occasional* failure to
take focus from Wharf when clicking on window that previously had focus when
user gave focus to Wharf by clicking on a Wharf dockapp. Personal note - some
parts of this seem rather "hackey" to me! The intermittance of these issues
seemed related to slight timing issues / inconsistancies. Ultimately we try
to deal with this in events.c since we can not call (#include) the higher-level
AS focusing functions in Wharf (or other plugin apps) due to namespace
conflicts. Also tested with both focus-follows-mouse and sloppy-focus, and
with Wharf set to NOT take focus ('Style "*Wharf" NoFocus' in database file) to
verify that those focusing models were not affected by these "hacks".
Unfortunately, there does remain one edge case (introduced) where under certain
cases moving pointer very rapidly off a focused Wharf onto a window very close
to or abutting Wharf, more likely if the dockapp or window is a Perl/Tk app.
where focus still "partially follows the mouse" onto that window and Wharf
fails to hold it leaving neither Wharf or that window "fully" focused.
I've worked all thru this code and still can't fully grasp exactly why it does
what it does, but it works mucn less annoyingly now than ever before! It's
much less annoying to me to have Wharf lose focus to an app. window once in a
while than to refuse to give it up when deliberately clicking on a window to
focus!
* Make Wharf-specific focus handling (ClickToFocus + Wharf allowed to take
focus) work on all Wharfs (not just the main/default one named "Wharf").
[2023-06-04: Jim Turner]
* Fix weird bug that caused Wharf to lose focus on all mouse-outs when focused
IF Wharf was stopped and then restarted (without restarting AfterStep itself)
on some systems (The window variable is an object variable and SHOULD be re-
initialized at startup, but aparently still contained lingering garbage, now
we ALWAYS fetch it)!
* Tweak the README file a bit and update the changelog.
[2023-05-11: Jim Turner]
* Cleaned up aswindow.c and events.c code to be more readable and possibly
more efficient, and eliminate some unnecessary if-stmt nesting and scopes, ie.
many cases of:
if (a) if (b) stmt; => if (a && b) stmt.
if (a) { one-stmt } => if (a) one-stmt.
if (a) return; if (b) stmts; => if (a) return else if (b) stmts;
Surprisingly, the changes did not change the size of the object files or the
executable generated by a single byte. I guess the modern GCC compiler is
smart enough to optimize these differences out, but still, the code's more
(human) readable now! ;)
* Add "Shift-arrow warping" to WinList (when it has keyboard-focus). This
means that pressing the left or right arrow-keys while holding the Shift key
causes warping through all non-iconified windows in the circulate list while
traversing through the WinList buttons jumping between each non-iconfied window
represented in the WinList and raising but NOT FOCUSING them so that WinList
itself retains the keyboard focus while traversing. When on one of them, one
can use the assigned mouse button (or keyboard equivalent) to focus or other-
wise manipulate the desired window. NOTE: This feature is really only useful
if using the ClickToFocus focusing model. One additional side-benefit of this
feature development is that now the Warp* and ChangeWindow* functions now
accept a "*" as an argument, which will cause them to warp to the client-
window specified. See "SendCommand" function. We always skip over iconified
windows regardless of the "CirculateSkipIcons" feel option, as I confirmed that
module code, such as WinList do not currently have a known (to me at least)
way to access the correct value of this flag.
* Fix annoying issue where a non-sticky window is initially placed on one desk,
iconified, then deiconfied onto another, and user then switches to another
desktop without first moving the window as least slightly, the window moves
itself back to the original desktop it was on. I believe most users do this
with the intent that the window will henceforth reside on the deiconified
desktop until user decides otherwise. I fixed this by simply calling for a
zero-pixel "move" via the moveresize_aswindow_wm() function, which takes care
of this nicely somehow (see functions.c).
[2023-05-08: Jim Turner]
* Menu icons - Make work (again?) in the "WindowList" menu, and also the
"Stop Running Module" and "Restart Running Module" menus and clean up that part
of the code a bit. Some of this code had been commented out by a previous
developer leading me to suspect it either didn't work, leaked, or crashed, but
after extensive testing and the addition of some pointer checks and double-
checking that things were getting properly freed, I'm convinced that this is
ready for prime-time! I just now got around to this because I normally have
these menu mini-icons turned off via look.MenuMiniPixmaps = 0 to save memory,
since I hardly ever use the menus myself. Since I was already on a roll
digging around and testing stuff out I don't normally use, things like this
suddenly became noticable to me (and SHOULD work)!
* More window-warping fixes: Fix improper window-warping with
feel.AutoReverse set to 1 (I call it the "yoyo" traversal method because it
reverses directions automatically when reaching the beginning or end of the
windowlist). I also reversed (swapped) the directions of the WarpFore and
WarpBack as well as the related ChangeWindowUp and ChangeWindowDown functions
to work more consistently with the now-fixed circulate/window list. "Forward"
WarpFore() & ChangeWindowUp() should now traverse from older to newer windows
(normally left-to-right in WinList). The other two, the opposite. This became
noticable after we started both preserving the circurlate-list order combined
with making the starting-point the currently-focused or last-warped-to window,
or else the first or last window in the circulate-list depending on the warp
direction.
* Sound (Sound2) - Skip "old way" initialization if ASSOUNDPLAYER set:
If user specifies an external player, ie. "aplay" in the ASSOUNDPLAYER
environment variable to play sounds (the preferred "new way"), we dont need nor
want to initialize the PCM device on module startup (thus grabbing and
monopolizing) the sound card. If neither ASSOUNDPLAYER or the older
SOUNDPLAYER env. vble (still not sure of how else the latter was/is used) are
set, we retain for now the very depreciated "old way" which may still work on
some old systems (OSS, librplay, etc.), which handles writing out sound data
directly to the PCM device (and does not work on my alsa / HDMI multi-device
system).
* Wharf - Fix button-highlighting annoyance with some swallowed apps that grab
mouse-focus and/or contain transparent parts in their shaped image. Problem
was when mouse moved over a swallowed button who's app. contains transparent
portions (wmitime, etc.) focus-highlighting of rest of the Wharf button would
disappear even though mouse was still over the button, when mouse moved on over
a transparent part if Wharf itself did not have the focus. (Highlighting
should remain on as long as mouse is over any part of Wharf button)! This and
nearly all the Wharf focusing / highlighting changes made and flags added
recently are due to the fact that when the mouse leaves a Wharf button, it is
difficult and tricky to determine whether the mouse has moved on over another
Wharf button, the screen background, another window abutting the Wharf button,
or into a transparent part of the button (with a swallowed app. that may or may
not grab some aspect of the focus) without some extra flags to retain
information known when the mouse previously entered the button and from where!
[2023-05-04: Jim Turner]
* Make window-warping actually work properly! When warping between windows
(via [Ctrl-[Alt-[Tab]]], etc.), the window warped too often seemed random,
rather that (the more logical) order that windows appear in the WinListMenu
and WinList. This was due to the way AfterStep implements it's window-lists,
namely the "circulate-list". AfterStep maintains two main window-lists: the
circulate-list and the stacking-order. The latter represents the order
windows are stacked on the desktop, and is updated whenever a window is
raised or lowered (ie. in ClickToFocus mode, the window clicked on becomes
focused and is raised to the top of the stacking-order. One of my earliest
committed fixes was to switch from using the circulate-list to using the
stacking-order (stack) to find the "next-up" window to focus whenever a
focused window became unfocusable (namely iconfied, hidden, or destroyed).
Window-warping, however, continued to be based on the circulate-list, and
since I don't use it that much I hadn't had enough time to figure out why it
also sometimes seemed a bit random in it's window-traversal. Window-warping
does properly use the circulate-list. I'm still not totally sure what
AfterStep had in mind for how this list should work, but *my* interpretation
is that windows are added to the circulate-list in the order they are
created, then removed when destroyed (like the WindowList and WinList module),
and that this list (unlike the stack) should not be shuffled or reordered
otherwise. After digging into exactly what's happening in the circulate-list,
I discovered that when a window received the focus, it was moved to the front
of this list (see aswindow.c functions "commit_circulation()" and
"focus_aswindow()". By removing these two reordering ocurrances, and
adjusting the "starting-point" window to the currently-focused window (if any)
when warping, window-warping now works in a much more logical way using the
circulate-list: pretty much following the order of buttons in WinList.
[2023-05-02: Jim Turner]
* Pager - Make button1 click on window focus if ClickToFocus set: Convenience
enhancement: When clicking on one of the tiny representations of a window
within any of Pager's screen boxes will not only switch the screen to that
desktop (if different from the current one), but now will also focus that
window, if ClickToFocus mode is set. I decided to do this because when I
click on another desk, I naturally expect a window (usually the largest one)
in that desktop to be focused and ready for keyboard input (previously focus
was just removed from the focused window on the previous desktop and no window
(or the pager itself, if Wharf is allowed to take focus) had the focus after
switching desktops.
* ClickToFocus - Try harder to focus correct window when iconifying:
(aswindow.c) - Previously when a window was iconified / hidden / in the
process of being so, AfterStep was not always setting the focus to the
most logical window choice, particularly when the AfterStep menus were
closed by clicking on the desktop background area, and outputing a warning
to .xsession-errors. AfterStep now tries to focus the next window on the
stack. My general philosophy with ClickToFocus is that if a window is
focused, then becomes unfocusable (ie. iconified, hidden, or destroyed), then
the next window in the stack (of windows on the screen) should get focus,
rather than having to manually click on one after being left with no window
having the focus!
* Wharf - Better handle Wharf balloons: Namely, fix failure to display
balloon when mouse enters a Wharf button (balloon properly displays), mouse
then exits Wharf, then reenters the SAME button. Pbm. is that current Wharf
is apparently no longer configured to handle Motion-notify events (and doesn't
seem to need to).
* WinList - Improve keyboard function & eliminate key-repeating: The [Esc]
key will now toggle shading of WinList (if it is configured with a title-bar,
generally should be a vertical one!) instead of just shading if not shaded,
regardless if any WinList button is selected. Left & Right arrows, [Return]
and [Spacebar] will unshade if shaded. Numeric keys (for corresponding mouse-
buttons) will no longer apply to window associated with selected WinList
button if shaded (to avoid shooting into the dark).
[2023-04-28: Jim Turner]
* events - Fix failure to update window-titles whilst iconified/hidden:
Pbm. is with media-players that change the window-title on every song-title
change & permit user to iconify the player window while listening. When
deiconified (WITHOUT feel."FollowTitleChange" set, which has it's own issues),
AS (unlike most other WMs) left title set to the song that was playing when
previously iconified, so FIXED that!
* Wharf - Fix several Click-to-focus related annoyances: Wharf somehow
temporarily switches to a pseudo Focus-Follows-Mouse mode when moving mouse
out of a focused Wharf-swallowed (usually Perl/Tk) dockapp onto a window
(usually abutting Wharf itself). Also Wharf wasn't being consistent handling
button-functions assigned to swallowed app buttons; and wasn't properly
handling key-repeats (old test required waiting 1 second between keypresses to
be treated as non-repeating. Now, we use a better strategy to allow user to
press keys rapidly but block system key-repeating). Also properly recognise
meta-keys when focused on a swallowed dockapp. Added a lot of code (after
MUCH T&E)! This now allows adding mouse-button functions to be added to
Wharf folder icons, and for the corresponding [[Ctrl]+Mousebutton] and
[[Ctrl]+Key#] to still expand / collapse the folder (The non-modified versions
will then execute the assigned button-function in this case).
[2022-05-05: Jim Turner]
* Wharf - Fix crash when scrollwheeling over Wharf-button: This was Happening
intermittantly on some buttons. Fixed by ignoring all mouse-buttons > 3
(scrollwheels usually use 4-7), as Wharf doesn't use.
[2022-02-03: Jim Turner]
* asapp - Include modern https urls as valid urls (previously, AfterStep's
asapp was only treating strings starting with the old, unencrypted "http:"
protocol as URLs.
[2022-01-01: Jim Turner]
* Fix issues with recently-added icon features: Namely titlebar icons were
not being scaled quite right with respect to the titlebar height. We now use
the size of the required "default" unpressed image in the Look.TitleButton
line to scale the app-icon icon to fit in the titlebar nicely with other
buttons (the 2nd ("pressed") image parameter is specified as just a dash
("-") to use the app's icon in lieu of the default pressed image, both
pressed and unpressed).
[2021-12-30: Jim Turner]
* Fix another "exploding menu" issue: This annoyance occurs often when one
pops up the main applications menu, aka. the "Start Menu" in
M$-Windowsspeak, and inadvertanly moves the mouse slightly between press and
release such that the mouse moves just across the boundry to an ajacent menu
item that contains submenus causing activation of the submenu almost on top
of the menu one is TRYING to invoke! Stopped this from happening so that
one now has to click the menu-item or hover over the ".." on the right edge.
Also make submenus pop up with left edge just under the mouse cursor (seems
more natural to me & leaving more of the parent menu visible) and corrected
the virtical positioning to have the first item in the submenu under the
mouse cursor (when possible). All this should be much more intuitive and
similar to more modern popup menus for most users.
* Add option for WinList to take keyboard focus and be keyboard-navigatible
(like another window-list menu but always visible)! The left and right
arrow keys traverse the open windows and keys: 1, 2, and 3 (the
same sequences previously added to Wharf) invoke the matching mouse-buttons
to invoke the specified WinList functions. You can give WinList a vertical
titlebar and can then shade/unshade it when needing more screen realestate.
In that case, the Escape key shades and Return key unshades (when focused
but no buttons are highlighted). When a button is highlighted the other
keys mentioned invoke WinList mouse-button functions, along with Return and
Spacebar also equivalent to mouse-button 1.
* Reduce logfile (.xsession_errors) spam when AS looks to load some font or
image file and no actual file-name is specified (configured) for some
option and AS happily uses a default, as this is useless to users without
there being an actual file-name that AS can't find (we'll still warn in that
case)!
* Fix scaling issues for app-icons in window title-bar to whit: use the size
of the required "default" unpressed image (not otherwise used) in the
Look.TitleButton line to scale the app-icon icon to fit in the titlebar
nicely with other buttons (the 2nd ("pressed") image parameter is specified
as just a dash ("-") to use the app's icon in lieu of the default pressed
image (both pressed and unpressed). In other words it is not possible
(and doesn't make any sense) to have separate "pressed" and "unpressed"
image options for app. icons! Even though this "default" "pressed"
image in the TitleButton configuration line is required for sizing, it
will only appear if there is no icon for the application / window AND there
is no default/fallback icon specified in the "database" file. Also fix
issue where the button for the last window opened was being used in lieu of
the default icon when a later app. window was opened that had no app. icon.
* Try harder to find a default icon for applications without one, as this
is needed now more than ever - if no icon is found for the app. and there's
a default/fallback icon specified in the "database" file ("*" line), then
we will always use that.
[2021-12-28: Jim Turner]
* Added option to display the application's icon scaled to fit as one of the
titlebar buttons, giving AfterStep a more modern look (this is the default
in many current window-managers, including M$-Windows - usually the leftmost
button). Normally, the titlebar button images are fixed files specified in
the "look" config. file as one or two image files (two image files provide
a "pressed" and "unpressed" look when clicking the button). To instead use
the application's icon image, specify a single image file (the "pressed"
image, followed by a dash "-" as the 2nd image file in the "look" file)
line, ie.:
TitleButton # default-image-file -
[2021-12-27: Jim Turner]
* Scale large icons down to fit (WinList, and iconified app. icons)
We also keep aspect ratio (Icons-only WinList wasn't doing this properly,
and iconified apps with large icons weren't always honoring ButtonSize
"look option"). Problem was that while the icon box was properly sized, the
large icon would display only one corner. Now, these large icons can be
scaled down to fit the specified icon box size. Small icons will remain
their natural size.
[2021-12-18: Jim Turner]
* WinList - Don't fill screen horizontally if icons-only!
For icons-only winlist: users should set WinListShowIcon 1,
WinListScaleIconToTextHeight 0, *WinListUseName 5, and
WinListMaxColWidth <#desired_icon_sz_pixels> in their "winlist" config file.
NOTE: The current version of WinList currently only works horizontally.
My reccomendation is to use a vertical titlebar on it so that you can shade
it when you need more screen realestate.
[2021-11-16: Jim Turner]
* Apply v2.2.15 patch "60-Fix-FTBFS-ar-clq.patch" to fix new FTBFS
caused by binutils API break in Debian Bookworm (ar command -l option)
* Update this ChangeLog file to reflect all our patches / changes.
(SEE https://github.com/wildstar84/afterstep/commits/master commits for
more details)!
[2021-09-04: Jim Turner]
* Fix windows moving if titlebar clicked w/slight mouse-move.
[2021-08-18: Jim Turner]
* Titlebar balloons: Show function names instead of just "Function"!
* Wharf - Clean up code format for legability.
* Wharf - Fix another broken transparency case, etc.
[2021-08-09: Jim Turner]
* Wharf: Fix sometimes-broken transparency, add WharfNoWithdraw.
* Remove compiler warning a/b unable to inline.
[2020-03-27: Jim Turner]
* Menus - Prevent menus from exploding from mouseover on open!
[2020-03-19: Jim Turner]
* Wharf - Pass actual button events to swallowed apps.
[2020-03-16: Jim Turner]
* Wharf - Add keyboard-navigation when focused.
[2019-03-27: Jim Turner]
* Add the "original" source files before last 2 commits.
* Add ASHELPCOMMAND env. vble. for user-set HELP fn manpage reader.
* Actually make Sound2 WORK again. Also added environment.
* Tweak the README and re-upload the Orig. AS readme.
[2019-03-26: Jim Turner]
* Update the dated README file to make it useful.
* Remove README.org since GitHub still thinks it's the README.
* Stop spamming .xsession_errors!
* Make possible to build with --with-dbus1=no.
[2019-03-25: Jim Turner]
* Start afresh with Pristine Debian-src AfterStep 2.2.12-12 and
create this GitHub site!
* Fix bug in latest Debian patch (#57) that causes FTBFS.
* Enable building w/CFLAGS="-march=native -O2".
* Prevent FTBFS if configed with --enable-shaping=no.
* Fix "Can't locate X resources database" error.
* Make FocusOnMap work consistently with ClickToFocus!
* Fix "Grab & Drag" of unfocused windows by handles/titlebar.
* 1) Fix ClickToFocus to focus on prev. window on the stack.
* Upload orig. (.org) files, 'case someone wants orig. source!
----------------------
LEGACY CHANGELOG
----------------------
[2013-04-01: Sasha Vasko]
* AfterStep 2.2.12 release
* updated configure script to remove old privacy notice and add install
instructions.
* Added tools/git-cl.sh for ChangeLog generation and updated Makefile.in
accordingly
[2013-03-25: Sasha Vasko]
* Fixed _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING publishing on 64bit
oses to convert Window Ids to 32bit. Fixes window lit not showing in
gnome-panel and other GNOME apps. Added handling of _NET_WM_STATE_FOCUSED as
per Extended WM Hints spec. Added corresponding ClientMessage handling.
Fixed handling of AS desktop number to GNOME desktop number translation.
That fixes window focusing using GNOME pager and window list.
[2013-03-21: Sasha Vasko]
* added instruction for installation under different environments
* Added configure check for GSettings. Apparently it's missing in older
libgio.
[2013-03-20: Sasha Vasko]
* Fixed includes for GSettings stuff in afterstep/dbus.c Added couple web
backgrounds
[2013-03-15: Sasha Vasko]
* Updated Quit menu to differentiate Logout/QuitWM/Restart
* Changes to integrate with KDE: Fixed desktop switching, added integration
with KSMServer
[2013-03-14: Sasha Vasko]
* Fixed compile - instead of linking to glib we now link to gio - was causing
compile problems without svg support
[2013-03-12: Sasha Vasko]
* Replaced old IRC icon Fixed memory leak in Feel/ComplexFunction parsing -
need to init functions list. Added functionality to Wharf to check if
Logout/Restart/Shutdown/etc are available. Fixed Wharf to hide NOP buttons.
[2013-03-11: Sasha Vasko]
* Updated IRC icon
[2013-03-10: Sasha Vasko]
* Added code to convey remapping of the functions to modules through non-con
file.
[2013-03-09: Sasha Vasko]
* Added missing file SpeechBubble
[2013-03-08: Sasha Vasko]
* changes to convey to modules which functions are disabled through file in
non-c
[2013-03-05: Sasha Vasko]
* Implemented Suspend and Hibernate command using UPower through dbus Added
icons for sleep, shutdown and better icon to replace MusicalNote
* Implemented SystemShutdown command to utilize gnome-session to request
system shutdown/reboot/suspend. Implemented Logout command to logout session
when running under gnome-session Made Restart command disabled when running
under gnome-session Added Logout icon, from Open Clipart Library (author
warszawianka) Added change_func_code function to change the meaning of a
function (only works if called before the parsing)
[2013-03-04: Sasha Vasko]
* Adjusted icon finding algorithm to not try .Z .gz extension when png, tiff
or jpeg is present Removed $PATH from image search paths since it was
causing executables to be probed. Added check for image already loaded
Disabled icon theming whenever filename contains directory names Disabled
search whenever image filename is a full path.
[2013-02-28: Sasha Vasko]
* Added menu exclusions by item's category, not just item name Fixed icon
loading to hit places, devices, actions and categories Fixed minor bug in
endless recursion on loading CategoryTree Added submenus to System Settings
menu
[2013-02-25: Sasha Vasko]
* Fixed re-rendering of transparency in ASMount on background change
* Applied Debian patch 13, fixing feel.DEFAULT and adding feel.Debian
* Added xterminal menu entry as per Debian patch 10
* applied debian patch 06-AsDocGen fix for NROFF generation
* applied patch 00 from .deb partially - all except deb-specific stuff
[2013-02-21: Sasha Vasko]
* Added web backgrounds for Mountains and Water
[2013-02-16: Sasha Vasko]
* Fixed startup code to wait for autostarted windows to finish mapping before
switching to normal running mode. Fixed hard to trigger race condition
capable of locking Afterstep into select() from modules before we are
actually ready to send.
[2013-02-13: Sasha Vasko]
* Added dbus functionality to query ConsoleKit (to be used with
Shutdown/sleep/hibernate functionality) Traced the issue with gnome-session
restoring or not restoring the last session to patch in Ubuntu disabling
the functionality
[2013-02-11: Sasha Vasko]
* Fixed bug in uninitialized variable in sassion state saving code. Added code
to check if gnome-session has autosave-session, and skip session managed
windows in this case. Updated config.h.in
* re-indent on libAfterStep, libAfterConf and libASGTK
* re-indented afterstep libs
[2013-02-08: Sasha Vasko]
* reformatted/indented afterstep proper
* Minor bugfixes in session shutdown code work workspace file writing and
timer setup.
[2013-02-01: Sasha Vasko]
* Rewrote handling of window groups; Changed saving session to save only one
command for each window group (with --sm-client-id) Fixed pointer placement
to obey avoid cover
[2013-01-31: Sasha Vasko]
* Tweaks to session state saving and restoring Better shutting down of apps on
session end.
* Implemented proper session shutdown with closing of running apps
[2013-01-30: Sasha Vasko]
* Fixed Gnome session management support to send EndSessionOk message to the
correct interface and our client path
* Fixed move/resize code to properly account for virtual coordinates and
changes in viewport. Minor tweaks to Makefiles for shorter output
[2013-01-28: Sasha Vasko]
* Fixed debian alternatives installation with hopefully correct path
* Completed gnome session management protocol support implementation. May need
to add requirement for notiofications daemon in .session file
[2013-01-27: Sasha Vasko]
* small big in environment rewriting code
[2013-01-25: Sasha Vasko]
* Partially sorted out session manegement with Gnome Session Manager including
registration, end of session, as well as Notifications. Still work in
progress, some interfaces have to be implemented
[2013-01-24: Sasha Vasko]
* Added functionality to display Minipixmap for any web background that was
previously donloaded Added AfterStep.session file for gnome-session Fixed
locations and contents of .desktop file to get session management to work
somewhat. AfterStep should be started through gnome-session if available.
[2013-01-22: Sasha Vasko]
* Fixed vertical layout of ASMount
* Added popular backgrounds from vladstudio.com
* Added web backgrounds from Digital Blasphemy and vladstudio.com
[2013-01-19: Sasha Vasko]
* Added MyStyles for ASMount Started implementation of Notification messages
using dbus
[2013-01-18: Sasha Vasko]
* Fixed segfault when Module config file is missing
[2013-01-17: Sasha Vasko]
* Fixed all looks except for DEFAULT missing MenuBalloons Fixed segfault in
Backgrounds Menu Fixed web backgrounds, now Preview works as well.
* Added 2 web backgrounds from flickr.
[2013-01-04: Sasha Vasko]
* Attention: This is commit has bugs! There is a Segfault in Menu
functionality
[2013-01-02: Sasha Vasko]
* added unexpand script to handle broken indenting in the source code
[2012-12-28: Remco Rijnders]
* Improved allocation logic of buttons on the WinList
* Remove unused Options code
* Reindented WinList.c
[2012-12-27: Sasha Vasko]
* Implemented functionality to use urls as the source of ForeignBackground
(utilizing wget) with local caching of downloads
[2012-12-27: Remco Rijnders]
[2012-12-26: Sasha Vasko]
* Fixed compile warnings in libAfterBaseand libAfterImage
* Fixed bug in check_astbar_point and updated base.in to work with icon themes
* Added missing ASMount.c
* Added icons and buttons for ASMount
* Added Icon theme support, ASMount config file handling, GLIB detection minor
cleanups and bugfixes.
[2012-12-24: Sasha Vasko]
* Updated build files for new version of AS and to include ASMount
* Added ASMount module for storage Volume manipulation
[2012-11-16: Remco Rijnders]
* Update Release Guide to use git, change reference to freshmeat
* Remove obsolete files -- everyone who is going to upgrade from these
versions already has
[2012-11-15: sasha]
* Added ASMount tool to handle dbus volume management stuff
* applied docs patch from Remco Rijnders removing old READmes
[2012-11-15: Remco Rijnders]
* Updated TEAM members file
* Include warning to outdated localised README files
* Update README file
* Remove old ChangeLog file and add pointer to VCS for it in current changelog
[2012-11-14: sasha]
* Added patch to compile with libexecinfo. Contributed by Naohiro (gentoo)
[2012-11-05: sasha]
[2012-10-17: sasha]
* updated to fix compilation problems related to newer autoconf, plus session
.desktop file
[2012-09-06: Remco Rijnders]
* Update support information
[2012-07-12: sasha]
* fixed compilation of ASRun when gtk is unavailable
* fixed compilation of ASRun when gtk is unavailable
[2012-07-03: sasha]
* updated todo
[2012-06-27: born2late]
* fix so afterstep will compile without gtk
[2012-02-29: born2late]
* version of the aterm logo with higher contrast (through shadow/glow)
[2012-02-01: born2late]
* yeah, fixme count lowered after a looong time
* fixed wrong description of this item
[2011-12-09: speedy]
[2011-12-08: speedy]
* bring modules under one topic
* added docs for Banner, afterstep. cleaning up documentation menus.
[2011-12-07: speedy]
* added Ident and GWCommand under ASDocGen
[2011-12-06: speedy]
* changed link to sourceforge bug tracker
* updated thumbnail cache to actually work without debian submenu
[2011-12-05: speedy]
* added debian patches 20, 31, 35; gentoo patches ldflags and libpng15
[2011-12-01: speedy]
* more tweaks from debian, most of patch 12
* added debian sensible browser, debian patch 05
* added debian tweaks and fixes, patches 01,11,21,33,34,36,38
* added debian gcc warning, segfault, and compile fixes
* added debian typo fixes from patches 22, 24, 28, 29, 37
[2011-06-29: sasha]
* no message
[2011-01-28: sasha]
* Added check if the header was already included
* Moved BMP related code to bmp.c as windows headers conflict with libjpeg
[2011-01-14: sasha]
* Updated the ChangeLog for release
* AfterStep release v 2.2.11
[2011-01-13: sasha]
* Changed version to 2.2.11 and fixed build to compile ASWallpaper
[2010-10-06: sasha]
* fixed bug in window circulation causing second window skipped all the time
[2010-09-23: sasha]
* fixed memory leak in xcf file loading
* fixed memory leak in tga image loading
* fixed minor memory leak in gif saving code.
* fixed memory leak in xml processing on image loading
* fixed major memory leak at vectorize_asimage
* Fixed BMP writing to not set compression to 1 - we don't use any
[2010-09-15: sasha]
* fixed possible dereferencing of NULL pointer in asimage_destroy (minor)
[2010-09-08: sasha]
* trimmed some dead code
* fixed visual2visual_prop bug in *size usage
* fixed param hidden warnings
* corrected usage of get_xpm_string() to use proper enum value
[2010-09-03: sasha]
* Fixed possible memory leak in xpm code when image is too big
* fixed unlikely but possible (if height>width) buffer overrun bug in gradient
generation code
* Fixed unlikely but possible use of uninitialized variable in
ASImage2xpmRawBuff
* Fixed unlikely but possible use of uninitialized variable in
ASImage2xpmRawBuff
[2010-06-22: vae]
[2010-05-20: sasha]
* updated to libjpeg v.8b
[2010-01-29: sasha]
* added transupp to libjpeg just in case
* upgraded built-in libjpeg to version 8
[2009-12-31: sasha]
* Fixed bug in handling of icon size when icon size provided in ExtWM property
is corrupt
* added more debugging to figure out how zero length icon properties crash
afterstep
[2009-12-23: sasha]
* MOre flexible handling of titlebar button info sharing between modules to
accomodate for wide range of configs
[2009-12-11: sasha]
* fixed segfault in on look change where previous look has obsolete font
settings
[2009-11-12: sasha]
* fixed export.c to properly assign default export values using union members
- contributed by Axel Naumann
[2009-10-14: sasha]
* fixed annoying ICC warnings in mystrdup use without libAfterBase
[2009-10-13: sasha]
* minor fix in afterbase.c to correct ambiguity in evaluation order
[2009-10-05: sasha]
* fixed -v command line arg handling
[2009-09-30: sasha]
* applied contributed WarpPointer patch to make warping of pointer on viewport
change a feel option
[2009-08-25: sasha]
* fixed ascompose to build without X libs
* fixed X Connection initialization to set up global vars in ALL cases - that
was causing ASGTK apps to fail
* fixed ascompose to build without X libs
[2009-07-20: sasha]
* fixed missing include for session.h causing grief to package managers
[2009-07-15: sasha]
* added SkipPager database flag to exclude windows from the Pager's view
[2009-05-04: sasha]
* updated ChangeLog for the release
* AfterStep release v 2.2.9
[2009-04-03: sasha]
* added detailed instruction for ascolor usage
[2009-04-02: sasha]
* cleaned up WinTabs tab grouping - added config options to switch it on and
set group name separator
[2009-04-01: sasha]
* fixed segfault in Session Manager registration when session manager is not
available or sm_client_id is otherwise empty
* disabled minipixmap loading when MenuMiniPixmaps are off
[2009-03-18: sasha]
* added ifdef to avoid double fclose under MSVC2005 and newer
* added ifdef to avoid double fclose under MSVC2005 and newer
* added ifdef to avoid double fclose under MSVC2005 and newer
[2009-03-06: born2late]
[2009-03-02: born2late]
* just checking if commit is working after this long time
[2009-02-11: sasha]
* Got rid of dpy global variable in libAfterBase and libAfterIMage for good.
Moved it into libAfterStep instead, as it incorporates screen handling
functionality.
[2009-01-30: sasha]
* fixed warning in jpeg2ASImage
[2009-01-16: sasha]
* fix to fill_hline_colored to work on scratch canvas + some debugging of
reported fill bugs on 64bit systems
[2009-01-13: sasha]
* fixed aliasing for drawing with brush wider then 1x1; Fixed areas of low
intensity inside solid lines
* fixed clipping in straight ellips drawing where y+ry > height
* added missing declaration of Bool asim_set_custom_brush_colored()
[2009-01-12: sasha]
* somewhat fixed drawing with ARGB brush over ARGB canvas; Still unclear what
would happen if those are different ;
[2008-12-17: sasha]
* added RegisterClient message to dbus stuff
* fixed memory leak in ASImage2gif file needed to be closed even after Egif
closes it too
* fixed Makefile to work on FBSD/Gentoo
[2008-12-16: sasha]
* added --sm-client-id startup option to AfterStep
[2008-12-05: sasha]
* more gnome interaction stuff
* compie bug fix
[2008-12-04: sasha]
* added rudimentary dbus connectivity
* added rudimentary dbus connectivity
[2008-12-02: sasha]
* fixed silly bug in asvector where inserted elems would not increase size of
the vector
[2008-11-12: sasha]
* fixed references to the global variable dpy in GLX code
[2008-11-06: sasha]
* fixed a segfault in WinTabs and tabs rearranging on removal from the group
* fixed a segfault in WinTabs and tabs rearranging on removal from the group
[2008-09-30: sasha]
[2008-09-16: sasha]
* fixed focusing of the tabs on new window swallow when it gets added to
unselected group
* tweaks to layout of the grouped tabs
[2008-09-15: sasha]
* fixed element re-location code in vector
* implemented tab grouping functionality in WinTabs
[2008-08-15: sasha]
* added utility to check if glyphs are available in the font for a certain
char or a list of chars
[2008-07-28: sasha]
* copyright update
* added new function ExecInDir <dirname> <command> to run command using
dirname as current dir. Added --cwd cmd line flag to ASRun to make use of
ExecInDir
[2008-07-11: jeremy]
* Fresh updates to Sound2
[2008-07-02: sasha]
* disabled mapping on frame sooner then later as it ruins initial placement
[2008-07-01: sasha]
* changed destroy_string to be a function instead of a macro to avoid
excessive compiler warnings
* compile bugs in linAfterConf
[2008-06-30: sasha]
* added pointer warping on viewport shifts while move-resizing windows; added
focus hiding on viewport change to prevent misdirected input
* disabled pointer warping on viewport change
[2008-06-25: sasha]
* tweaks to initial window mapping time
[2008-06-24: sasha]
* fixed afterstep proper and wintabs to avoid refreshing decorations when
window is offscreen
* Fixed root pixmap setting - to handle XKillClient failures and not free
pixmap after it was put on the root
[2008-06-23: sasha]
[2008-06-18: sasha]
* Updated ChangeLog for libAfterImage 1.18 release
* libAfterImage 1.18 release
[2008-06-13: sasha]
* implemented EdgeResistanceToDragging setting
[2008-06-10: sasha]
* compile bugs without X fixed
* compile bugs without X fixed
[2008-06-02: sasha]
* added missing scanline.h
[2008-05-30: sasha]
* additional logic to avoid red/blue artifacts
[2008-05-29: sasha]
* implemented some 12-bps raw image processing- demosaicing
[2008-05-15: born2late]
[2008-05-02: sasha]
[2008-04-23: sasha]
* Fixed build on non-gcc compilers
[2008-04-17: sasha]
* preliminary support for loading RAW camera photos stored as tiff images with
CFA data - still need to implement interpolation, white balance, and
leveling
* preliminary support for loading RAW camera photos stored as tiff images with
CFA data - still need to implement interpolation, white balance, and
leveling
* compile warning on signed/unsigfned comparison
[2008-04-10: sasha]
* fixed alpha overflow in color2alpha