Bug #1095


Change Xeon launcher to use 5xN array for icons.

Added by Hammel about 2 months ago. Updated 9 days ago.

In Progress
Target version:
Start date:
11 Jan 2024
Due date:
% Done:


Estimated time:
01 - Critical


Instead of trying to center and fill the display, change the launcher to
  1. Use a status bar at the top
  2. Use a 5xN array for icons in the center but always start the icon displays in the upper left corner..
  3. Use an icon bar at the bottom of the same size as the central 5xN array icons.


launcher.log (4.62 KB) launcher.log launcher -v3 output Hammel, 24 Jan 2024 10:10
launcher-error.log (6.78 KB) launcher-error.log launcher stderr output Hammel, 24 Jan 2024 10:10
Actions #1

Updated by Hammel about 1 month ago

  • Severity changed from 02 - High to 01 - Critical
Actions #2

Updated by Hammel about 1 month ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

It will likely be easier to start this with a separate createWindowXeon() since the layouts are going to be very different between Xeon and PiBox.
The main difference will be in calculating the number of rows for the icon section, and setting up the status and icon bars.

I'm going to skip the icons bar for now since tap/hold/slide is more work than I care to do on Xeon.

Actions #3

Updated by Hammel about 1 month ago

  • % Done changed from 10 to 20

The change to createWindowXeon() is implemented and test compiled. It needs testing on hardware.

Actions #4

Updated by Hammel about 1 month ago

First attempt failed. The logs are attached.



Actions #5

Updated by Hammel 9 days ago

Found a minor bug when running dbLoad() for noshows that reset the appList to point to appNoShow. I fixed that but I still run into some bug where the two lists are identifical (and apparently empty but with garbage data in them.

Program received signal SIGSEGV, Segmentation fault.
0x0000fffff7683678 in g_slist_length () from /usr/lib/
(gdb) bt
#0  0x0000fffff7683678 in g_slist_length () from /usr/lib/
#1  0x0000000000407a70 in dbGetLength (noshow=0) at db.c:468
#2  0x0000000000407228 in resizeIcons (width=4684976, height=0) at db.c:258
#3  0x00000000004065f4 in main (argc=4, argv=0xfffffffffc58) at launcher.c:1439
(gdb) fr 2
#2  0x0000000000407228 in resizeIcons (width=4684976, height=0) at db.c:258
258     db.c: No such file or directory.
(gdb) print appList
$1 = (GSList *) 0x5364b0
(gdb) print (GSList *)*appList
$2 = (GSList *) 0x475200
(gdb) print (GSList *)appLrk818-bat: changed: dsoc=62, rsoc=62, v=3784, ov=3917 c=-548, cap=1670, f=2708, st=charge off, hot0
rk818-bat: dl=63, rl=62, v=3789, halt=0, halt_n=0, max=0, init=0, sw=0, calib=0, below0=0, force=0
$3 = (GSList *) 0x5364b0
(gdb) print *appList
$4 = {data = 0x475200, next = 0x200000001}
(gdb) print *applist->data
No symbol "applist" in current context.
(gdb) print *appList->data
Attempt to dereference a generic pointer.
(gdb) print *appNoShow
$5 = {data = 0x475200, next = 0x200000001}
(gdb) quit

I need to trace the list head to see when it changes, like before and after each call to dbLoad().


Also available in: Atom PDF