Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: qg on February 28, 2017, 08:15:01 AM
-
Hi,
I would like to disable some hot keys from the standard FLWM.
Here is what I have done so far:
- I downloaded the code source for FLWM from github (https://github.com/tinycorelinux/flwm)
- I modified the config.h file to satisfy my needs
- I compiled the code using "./compileit"
- Everything worked and I now have two executable files: flwm and flwm_topside
Now my problem comes from the installation.
I already have flwm_topside installed on my distribution and I can find the "flwm_topside.tcz" file under my tce/optional folder.
I thought it would be a good idea to just replace this "flwm_topside.tcz" by my new executable file flwm_topside after squashing it (mksquashfs). That's what I did but now there is no background, no mouse icon, etc. It's the same as not having a window manager with no background. So that's obviously not the right way to do it.
I have been looking around trying to find the solution to my problem but I couldn't.
How do we install a custom FLWM ?
I thought the problem could come from the following executable files that are missing in my compiled flwm : flwm_topside_initmenu, flwm_topside_makemenu, flwm_topside_menu_common, etc. (found in /usr/local/bin/)
But I can't file these files anywhere.
Thanks in advance
PS: I am using tinycore 7.2
-
First load the old flwm extension, then:
$ mkdir /tmp/pkg
$ sudo cp -rp /tmp/tcloop/flwm/usr /tmp/pkg
$ sudo cp flwm /tmp/pkg/usr/local/bin [your new flwm]
$ cd /tmp
$ sudo mksquashfs pkg/ flwm.tcz
-
Thanks !
It works great :)
-
Hi Juanito,
May I ask to deal these issues with core-remaster?
-
Sorry, but I'm not sure what you are asking for?
-
I have tried to remaster ISO (using core-remaster, mksquashfs). Recompiles flwm_topside
config.h as..
#define DESKTOPS 0
#define WMX_MENU_ITEMS 0
#define XTERM_MENU_ITEM 0
and put it in flwm_topside.tcz; remastered ISO. Now no arrow head mouse pointer and other issues.
Using tinycore9.x
-
Does your modified flwm work without remastering?
-
Compiled flwm_topside from
https://github.com/tinycorelinux/flwm
Extracted flwm_topside.tcz from iso, unsquashed and replaced 'flwm_topside', repackaged .tcz, and replaced it.
-
Dunno , if following links abt permision problems , missing files in remastering are of any help :
http://forum.tinycorelinux.net/index.php?topic=13716.0
http://forum.tinycorelinux.net/index.php?topic=15411.0
Also if Xorg , then ggl Pendrive dot com - Mouse pointer disappears problem.
-
Hi Juanito,
I followed following command to create a new 'flwm_topside' to put in 'flwm_topside.tcz'
tc@box:~$ tce-load -iw git fltk-1.3-dev Xorg-7.7-dev sstrip compiletc man
tc@box:~$ git clone http://git.tinycorelinux.net/flwm
tc@box:~$ cd flwm
tc@box:~$ g++ -flto -fuse-linker-plugin -march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti -shared -o ./../new_flwm_topside -DTOPSIDE *.C $CXXFLAGS $LDFLAGS
tc@box:~/flwm$ sstrip ./../new_flwm_topside
Note: Here is have used "-shared" option is g++ command to avoid errors.
Then changed the permission of 'new_flwm_topside'
tc@box:~$ sudo chmod 755 new_flwm_topside
Then, Extracted 'flwm_topside.tcz' from TC-ISO file and unsquashfs it.
tc@box:~$ unsquashfs flwm_topside.tcz
tc@box:~$ sudo rm flwm_topside.tcz
Then copied 'new_flwm_topside'..
tc@box:~$ sudo cp new_flwm_topside ./squashfs-root/usr/local/bin/flwm_topside
Then repackaged 'flwm_topside.tcz'
tc@box:~$ mksquashfs ./squashfs-root/ flwm_topside.tcz
And finally replaced 'flwm_topside.tcz' in ISO file.
-
does it work?
-
Not worked!
No arrow head mouse pointer. No title bar on GUI windows.
-
I would suggest that, once you have recompiled flwm and without rebooting:
* overwrite the extension symlink /usr/local/bin/flwm with your newly compiled flwm
* exit to the console prompt
* startx
..this will show whether the problem is with your recompiled flwm or with repackaging/remastering.
-
May I ask the correct command make a symlink? is it
ls -s ??
-
Yes, "sudo ln -s", but no need to remake a symlink, just overwite the existing symlink with your actual recompiled file.
-
Used command for symlink
sudo rm /usr/local/bin/flwm_topside
sudo ln -s /home/tc/new_flwm_topside /usr/local/bin/flwm_topside
Exited to command prompt, thenstatx
Dispaly with black background, no mouse pointer. Yes Wbar is there.
-
It doesn't start because you made it a shared library with "-shared", not a binary.
-
Hi Curaga,
Without "-shared" generating errors...
/tmp/ccnotk6r.ltrans4.ltrans.o: In function `request_menu_refresh(int)':
<artificial>:(.text+0xb): undefined reference to `wmx_time'
/tmp/ccnotk6r.ltrans4.ltrans.o: In function `arg(int, char**, int&)':
<artificial>:(.text+0x15a): undefined reference to `fl_open_display()'
<artificial>:(.text+0x16a): undefined reference to `fl_display'
<artificial>:(.text+0x172): undefined reference to `XGetVisualInfo'
<artificial>:(.text+0x17c): undefined reference to `fl_visual'
<artificial>:(.text+0x18c): undefined reference to `Fl::fatal'
...
/tmp/ccnotk6r.ltrans3.ltrans.o: In function `Frame::draw()':
<artificial>:(.text+0x179): undefined reference to `Fl_Window::draw()'
/tmp/ccnotk6r.ltrans3.ltrans.o: In function `Frame::set_size(int, int, int, int, int)':
<artificial>:(.text+0xa09): undefined reference to `XSync'
collect2: error: ld returned 1 exit status
And with this command
tc@box:~/flwm$ g++ -flto -fuse-linker-plugin -march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti /usr/local/lib/libfltk_images.so.1.3 /usr/local/lib/libfltk_f
orms.so.1.3 /usr/local/lib/libfltk.so.1.3 -o ./../new_flwm_topside -DTOPSIDE *.C $CXXFLAGS $LDFLAGS
The errors are...
/usr/local/bin/ld: /tmp/ccgYXdlb.ltrans0.ltrans.o: undefined reference to symbol 'XConfigureWindow'
/usr/local/lib/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Please guide, what am I missing?
-
Hi ipmeel
Try adding:
-lX11
to your command.
-
Hi Rich,
Thank you very much for the hit...
Only adding "-lX11" to command has not worked.
Following command worked for me..
g++ -flto -fuse-linker-plugin -march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti /usr/local/lib/libfltk_images.so.1.3 /usr/local/lib/libfltk_forms.so.1.3 /usr/local/lib/libfltk.so.1.3 /usr/local/lib/libX11.so.6.3.0 -o ./../new_flwm_topside -DTOPSIDE *.C $CXXFLAGS $LDFLAGS
and this also worked
g++ -flto -fuse-linker-plugin -march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti /usr/local/lib/libfltk_images.so.1.3 /usr/local/lib/libfltk_forms.so.1.3 /usr/local/lib/libfltk.so.1.3 -lX11 -o ./../new_flwm_topside -DTOPSIDE *.C $CXXFLAGS $LDFLAGS
The new "flwm_topside" is working fine with modified "./flwm/config.h" as
#define DESKTOP 0
But when "./flwm/config.h" is modified as (either or both)..
#define WMX_MENU_ITEMS 0
#define XTERM_MENU_ITEM 0
Result: no title bar on GUI windows.
Also may I ask how to disable "Ctrl+Esc" for closing/terminating GUI apps.
-
Also may I ask how to disable "Ctrl+Esc" for closing/terminating GUI apps.
Short-cut do'nt know.
Posible solution may be :
1) use xmodmap, which maps keys , and xev, which traps key events and prints to the screen. Xev shows mappings for each key pressed. Need to change the .xmodmap file, in /home directory. If not there , create one or you can find it in /etc/x11, however, altering this file will change the system for every user.....
2) xbindkey allows advanced mapping of keysyms to actions independently of the Desktop Environment.
-
Hi Pats,
Successfully used xmodmap. Thank you very much for help.
Result: no title bar on GUI windows.
resolved by editing *.C files.