WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Core v16.0beta1  (Read 17227 times)

Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 586
  • Good software needn't be big!
Re: Core v16.0beta1
« Reply #15 on: March 08, 2025, 07:41:21 PM »
Hi MikeLockmoore
Looks good.


Thanks. I'm happy in how it's coming along.  Maybe need to tweak a few pixels here and there yet.


In troubleshooting the FLWM main pop-up menu, I realized one of my main issues is that my .wmx/ folder is completely missing. :o :-[ 

Any suggestions on how to restore it easily?  I checked the rootfs64.gz file but I don't see any of the /home/tc/* files on that.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12164
Re: Core v16.0beta1
« Reply #16 on: March 08, 2025, 08:30:07 PM »
Hi MikeLockmoore
You're missing the helper scripts for your window manager:
Code: [Select]
tc@E310:~$ grep SYSMENU /usr/local/bin/flwm_*
/usr/local/bin/flwm_topside_initmenu:SYSMENU=/home/"$USER"/.wmx
/usr/local/bin/flwm_topside_initmenu:[ -d "$SYSMENU" ] && rm -rf "$SYSMENU"
/usr/local/bin/flwm_topside_initmenu:mkdir -p "$SYSMENU"
/usr/local/bin/flwm_topside_initmenu:TARGET="$SYSMENU"/SystemTools && mkdir "$TARGET"
/usr/local/bin/flwm_topside_ondemand:SYSMENU=/home/"$USER"/.wmx
/usr/local/bin/flwm_topside_ondemand:[ -d "$SYSMENU" ] || mkdir -p "$SYSMENU"
/usr/local/bin/flwm_topside_ondemand:[ -d "$SYSMENU"/OnDemand ] && rm -rf "$SYSMENU"/OnDemand
/usr/local/bin/flwm_topside_ondemand:  mkdir "$SYSMENU"/OnDemand
/usr/local/bin/flwm_topside_ondemand:    cp "$F" "$SYSMENU"/OnDemand

In your case, they are called:
Code: [Select]
flwm_initmenu
flwm_makemenu
flwm_menu_common
flwm_ondemand
flwm_restart
flwm_rmitem
You can find them in  flwm.tcz

Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 586
  • Good software needn't be big!
Re: Core v16.0beta1
« Reply #17 on: March 09, 2025, 12:10:08 AM »
Hi MikeLockmoore
You're missing the helper scripts for your window manager:
Code: [Select]
tc@E310:~$ grep SYSMENU /usr/local/bin/flwm_*
/usr/local/bin/flwm_topside_initmenu:SYSMENU=/home/"$USER"/.wmx
/usr/local/bin/flwm_topside_initmenu:[ -d "$SYSMENU" ] && rm -rf "$SYSMENU"
/usr/local/bin/flwm_topside_initmenu:mkdir -p "$SYSMENU"
/usr/local/bin/flwm_topside_initmenu:TARGET="$SYSMENU"/SystemTools && mkdir "$TARGET"
/usr/local/bin/flwm_topside_ondemand:SYSMENU=/home/"$USER"/.wmx
/usr/local/bin/flwm_topside_ondemand:[ -d "$SYSMENU" ] || mkdir -p "$SYSMENU"
/usr/local/bin/flwm_topside_ondemand:[ -d "$SYSMENU"/OnDemand ] && rm -rf "$SYSMENU"/OnDemand
/usr/local/bin/flwm_topside_ondemand:  mkdir "$SYSMENU"/OnDemand
/usr/local/bin/flwm_topside_ondemand:    cp "$F" "$SYSMENU"/OnDemand

In your case, they are called:
Code: [Select]
flwm_initmenu
flwm_makemenu
flwm_menu_common
flwm_ondemand
flwm_restart
flwm_rmitem
You can find them in  flwm.tcz

Once again, again, you've provided the answer.  Thanks!.  I was able to run a few of these and got two of the submenus (OnDemand, and SystemTools) populated.  Wasn't there a third menu with other local TCEs?  In any case, I mostly have the topside version working with the windowblind "rollup" minimization button effect.  Plus you can see the main popup menu in this screenshot (tricky to get without closing the menu!)


Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 586
  • Good software needn't be big!
Re: Core v16.0beta1
« Reply #18 on: March 09, 2025, 12:17:31 AM »
Here's a screenshot of the "minimize" (windowblind rollup) effect that is basically failing on Firefox and Geany.  I'll probably post this to the FLTK Google Group and see if anyone has some ideas on how to manage this better.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12164
Re: Core v16.0beta1
« Reply #19 on: March 09, 2025, 01:57:54 AM »
Hi MikeLockmoore
... Wasn't there a third menu with other local TCEs? ...
Yes, it's called  Applications.  Things that you load onboot wind
up there.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12164
Re: Core v16.0beta1
« Reply #20 on: March 09, 2025, 10:29:42 AM »
Hi MikeLockmoore
... I was able to run a few of these and got two of the submenus (OnDemand, and SystemTools) populated. ...
Typically,  menu items  and  wbar icons  are handled through  .desktop
files found in  /usr/local/share/applications/.  .desktop  files with the
prefix  tinycore-  (i.e. tinycore-editor.desktop) wind up under the
SystemTools  submenu.  .desktop  files are included in extensions
and handled by  tce-load.

Here is a  .desktop  file:
Code: [Select]
tc@E310:~/fltktest/fltk_projects$ cat /usr/local/share/applications/grabber.desktop
[Desktop Entry]
Comment=Select a section of the screen with your mouse and save as .png file
Name=Selective Screenshot
Exec=/usr/local/bin/grabber
Icon=grabber
Terminal=false
X-FullPathIcon=/usr/local/share/pixmaps/grabber.png
Type=Application
Categories=Utility;

At the very least, a  .desktop  file should probably include:
Code: [Select]
Comment=         A brief hint as to what the program does.
Name=            The name displayed in the menu and when you hover over its icon.
Exec=            Command to launch the program.
X-FullPathIcon=  Location to fetch the icon image from (assuming you want an icon).

I think some of the other entries might be used by some fancier window managers.

Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 586
  • Good software needn't be big!
Re: Core v16.0beta1
« Reply #21 on: March 09, 2025, 03:08:52 PM »
Hi MikeLockmoore
... Wasn't there a third menu with other local TCEs? ...
Yes, it's called  Applications.  Things that you load onboot wind
up there.
Thanks.  I've been looking into it, but the /usr/local/bin/flwm_makemenu script is not building the Applications subfolder under .wmx/ for me.  No error messages if I run it directly from the command line.  Just nothing happens.   I think there is something weird in my setup that is starting FLWM ok after boot, but whatever is supposed to build the .wmx/ on each boot is not happening.  Is there a tc-config script somewhere that is supposed to coordnate and ensure this stuff happens at boot before startx?  Or startx is supposed to trigger?

One caveat about my TC 16 RC1 environment... I've changed the /etc/sysconfig/desktop file to refer to 'flwm_mike' instead of 'flwm' or 'flwm_topside', so that I run my most recent binary when run startx. (I have my IDE run the normal flwm "compileit" script, then copy either flwm or flwm_topside binary to /usr/local/bin/flwm_mike, and that binary is added to my .filetool.lst)  Not sure if that causes some normal boot setup stuff from happening, but would be interested in sorting out this stuff.  I know it was working at one point when I first set up the TC 16 RC boot config, but I've messed things up somehow.   :-\

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12164
Re: Core v16.0beta1
« Reply #22 on: March 09, 2025, 03:39:06 PM »
Hi MikeLockmoore
That's used in a bunch of places:
Code: [Select]
tc@E310:~/fltktest/fltk_projects$ grep desktop /usr/bin/tce*
/usr/bin/tce-load:                              [ -s /etc/sysconfig/desktop ] && desktop.sh "$APPNAME"
/usr/bin/tce-load:                                      [ -s /etc/sysconfig/desktop ] && desktop.sh "$APPNAME"
/usr/bin/tce-run:if [ -f /usr/local/share/applications/${APP}.desktop ]; then
/usr/bin/tce-run:  RUN=`cat /usr/local/share/applications/${APP}.desktop | grep Exec | cut -f2 -d=`

Code: [Select]
tc@E310:~/fltktest/fltk_projects$ grep desktop /usr/local/bin/desktop.sh
DESKTOP=`cat /etc/sysconfig/desktop`

Code: [Select]
tc@E310:~/fltktest/fltk_projects$ grep desktop /usr/local/bin/flwm_topside_*
/usr/local/bin/flwm_topside_makemenu:# Typically called from /usr/bin/desktop.sh
/usr/local/bin/flwm_topside_makemenu:# Check for freedesktop item
/usr/local/bin/flwm_topside_makemenu:if [ -s "$FREEDESK"/"$1".desktop ]; then
/usr/local/bin/flwm_topside_makemenu:  if [ -s "$FREEDESK"/"$1"~1.desktop ]; then
/usr/local/bin/flwm_topside_makemenu:    for F in $(ls "$FREEDESK"/* | grep -E "$1"'(~[1-9][1-9]*)*'.desktop); do
/usr/local/bin/flwm_topside_makemenu:    writeFLWMitem  "${FREEDESK}/${1}.desktop"

Just to name a few, there may be others.

You would need to change your window managers name and
its scripts to match the naming convention.

Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 586
  • Good software needn't be big!
Re: Core v16.0beta1
« Reply #23 on: March 09, 2025, 11:00:49 PM »
Thanks Rich.  My prior method of overriding the FLWM binary, dropping out of the WM, and running startx (with a unique WM name in /etc/sysconfig/desktop) was not playing nice with the default desktop init stuff, so I changed things up to boot FLWM (from the .tcz) normally, then after I drop out of the WM, instead of just running startx, I have a wrapper script that can make a backup copy of the FLWM binary in /usr/local/bin, then replace the binary with my experimental FLWM build, then issue startx.  Now I have all three sub-menus on my FLWM popup menu.

I'm also happy to report I've solved the weird "windowshade" rollup window minimize feature for the non-FLTK windows.  Not sure it was really because some windows are not FLTK-native, but in any case, I have every type of window minimizing and coming back to normal as expected.  Screenshot of the topside version with a few minimized windows (just showing horizontal titlebar strips).

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12164
Re: Core v16.0beta1
« Reply #24 on: March 10, 2025, 01:41:12 AM »
Hi MikeLockmoore
... I'm also happy to report I've solved the weird "windowshade" rollup ...
Will the option to have minimized windows hidden still exist?

Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 586
  • Good software needn't be big!
Re: Core v16.0beta1
« Reply #25 on: March 10, 2025, 10:12:05 PM »
Hi MikeLockmoore
... I'm also happy to report I've solved the weird "windowshade" rollup ...
Will the option to have minimized windows hidden still exist?
Rich: Yes, the "iconify" button (upper left corner of the current "topside" build windows or lower left corner of the FLWM classic windows) will make the window disappear, but can be brought back by the desktop pop-up menu. 

I've mulling over making an update to Flit, which is my system tray software, to be able to visualize the iconified apps and offer another way to pop them back to normal. But I have a lot of other pent-up updates to make, including finishing up any loose ends with FLWM and getting it ready for review, redoing the battery-monitor part of Flit, and some changes to make Fluff work better with the fractional scaling in FLWM, and much more...  :P

Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 586
  • Good software needn't be big!
Re: Core v16.0beta1
« Reply #26 on: March 11, 2025, 12:30:02 AM »
Minor update... I realized I had an FLWM window title repaint issue, at least for the Fluff file manager, that if the window title changed such that the title text was shorter than before, some of the old text was not getting erased.  I updated the FLWM title text clear call to cover most of the titlebar area.  Hopefully most machines running TC 16 and beyond will have enough speed to not bog down repainting more pixels than absolutely necessary.    :-[

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12164
Re: Core v16.0beta1
« Reply #27 on: March 11, 2025, 12:39:49 AM »
Hi MikeLockmoore
If you still have access to the window title, why not erase it by
printing it again using the background color?

Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 586
  • Good software needn't be big!
Re: Core v16.0beta1
« Reply #28 on: March 11, 2025, 07:29:48 PM »
Hi MikeLockmoore
If you still have access to the window title, why not erase it by
printing it again using the background color?
There was already some code in FLWM to force a repaint in a "damaged" section of the window title bar, but it was based on the size of the text label widget.  I just needed to make the rectangle bigger to make sure it covers the area the text could have been in before the label change size.  Drawing the text in a different (background) color then painting the new text normally is an extra step. Not sure if it is actually slower, but it could be. 


Update: Attached the set of FLWM code changes I'm testing.  This is not super clean at this stage; it still has some commented-out debugging statements and other cruft I should remove.  If you wish to apply it to the source code and try it, you may want to do something like (in the FLWM code folder):
$ git checkout master
$ git checkout -b mike_rescaling master
$ git checkout mike_rescaling
$ git apply mike_rescaling.patch
$ ./compileit
$ sudo cp flwm /usr/local/bin
(exit X  to command prompt)
$ startx
--
Mike
« Last Edit: March 11, 2025, 07:47:20 PM by MikeLockmoore »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 15206
Re: Core v16.0beta1
« Reply #29 on: March 12, 2025, 07:46:07 AM »
On x86 (fltk-1.3) apart from this:
Code: [Select]
git apply mike_rescaling.patch
error: can't open patch 'mike_rescaling.patch': No such file or directory
..things appear to work fine, except with flwm classic not all of the "X" in the exit button is rendered, perhaps the title bar is slightly too narrow?

On x86_64 (fltk-1.4) we are missing the two patches:

fltk-1.4-rotated-text.diff
flwm_border_redraw_bis.patch

(I'll add them), otherwise things look OK.