NsCDE / NsCDE

Modern and functional CDE desktop based on FVWM
Other
1.92k stars 56 forks source link

Clipboard & select all and some other small questions #40

Closed melroy89 closed 2 years ago

melroy89 commented 3 years ago

Hi,

First of all, I love NsCDE. Thank you for the effort of creating such a nice WM.

Issue: Ctrl + A (select all) is not working for me. It moves the cursor to the left in most cases.

Q1: I noticed there is no clipboard, some applications are unable to use (or missing) the clipboard functionality. Is this correct? How to solve this? Q2: I'm currently closing windows with double click on the menu (left top) in the title bar, is this the correct way? Q3: Firefox is always starting on my left window (iso the main window), can I change this behavior? Q4: Screenshot button is not triggering any screen record app?

Hint: Please, disable Silent Key Tab A S hotkey or move to another hotkey combo. Since the Shift+Tab action is needed for programming (like fixing a small indent issue).

Thanks!

Regards, Melroy vd Berg

NsCDE commented 3 years ago

Hi,

Lets' move one by one:

1st issue: Selecting is a feature of graphical widgets and X11 interface. NsCDE and FVWM (except FvwmScript partially) does not have anything to do with this.

A1: NsCDE or FVWM does not have anything to do with this. Clipboard is controlled by the X server. It depends what are you trying to copy and paste, are you operating on clipboard, or primary selection etc ... try middle mouse button, Shift+Insert or Ctrl-C/Ctrl-V ... but again, nothing NsCDE can handle, change or prevent.

A2: Yes. If this doesn't work, in some rare cases, use "forcefully close" from the menu.

A3: Please reformulate question. Firefox IS the window. how can it be started inside another window? I cannot determine what you think here.

A4: Do you have ImageMagick "convert" tool? which convert Alternatively, look at the Pictures or XDG_PICTURES_DIR as defined on your profile (~/.config/user-dirs.dirs).

Hint:

echo 'Key Tab A S - -' >> ~/.NsCDE/NsCDE-Keybindings.local ... and restart NsCDE.

melroy89 commented 3 years ago

Thank you for your fast reply!

1st issue: OK, I see. Still strange that Ctrl+A doesn't work in most of my cases. No idea what is going wrong here!? Why it it so hard to just 'Select all' in a text input or something else in NsCDE. Or is it just me??

A1: I see it with tools like xfce4-screenshooter not showing the 'copy to clipboard' feature. EDIT: I tried starting-up diodon (clipboard manager), but that didn't solve my issue.

A2: Thx. EDIT: Ah, there is also a useful shortcut for closing the apps alt+F10.

A3: Sorry, indeed I mean 'screen'. My Firefox always open on my left screen, while my right screen is set as primary screen. This wasn't any issue in other window managers.

A4: ImageMagick//usr/bin/convert are installed. And XDG_PICTURES_DIR points indeed to my $HOME/Pictures directory.

EDIT: I found the screenshot definitions in /opt/NsCDE/config/Keymenu.actions. So those key combinations are working (I expected that just the plain Print Screen key button also worked without key combos):

km_rootscreenshot Print A S4 f_RootScreenShot 200
km_areascreenshot Print A C4 f_AreaScreenShot

For some reason this does not work:

km_areascreenshot Print A A f_RootScreenShot

Hint: Indeed, I also was able to comment out the keybinding in /opt/NsCDE/.. (but your solution is better). Anyway, the hint was actually to change this keybinding for everybody who is using NsCDE. Change this keybinding to something else, that doesn't conflict with Shift + Tab, should I create a PR?

NsCDE commented 3 years ago
  1. I don't know why you have problems with Ctrl+A. Make sure you didn't make some keyboard shortcut, or some 3rd party process is not interferring here.
  2. See fvwm(1) man page. Search for StartsOnScreen Style option. Edit your ~/.NsCDE/NsCDE-Style.local
  3. It is working, but f_RootScreenShot function requires an argument in milliseconds to wait before executing. Default is 3000, your (re)definition is missing this.
NsCDE commented 3 years ago

We probably solved this. If there is something that bothers you, we can reopen this.

daemonspudguy commented 3 years ago

@NsCDE it isn't just him. On Gentoo Linux, I can't select all text either. It does the exact same thing and NsCDE is the only desktop I have this issue with.

NsCDE commented 3 years ago

Hello again,

It is unlikely that NsCDE is causing this in any way, because Ctrl+A is not bind on any key. Have you tried in some other window manager or DE?

Please tell me:

  1. In which application you cannot select all text? Some editor, firefox ... ?
  2. What is your X keyboard layout? (setxkbmap -print)

I will take a look. Maybe it is some weird shit encountered for the first time.

daemonspudguy commented 3 years ago

@NsCDE 1. yes I have. This is the only DE I have ever had this issue with. It happens on every program you can input text into.

  1. the output of setxkbmap -print is

xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)" }; xkb_geometry { include "pc(pc105)" }; };

NsCDE commented 3 years ago

Hi @daemonspudguy

I really cannot determine what is bothering you with select all (Ctrl+A). I cannot reproduce this behaviour either in virtual machine or in hardware. Try with external keyboard or try to see if using laptop, BIOS settings for keyboard, hardware function keys etc ... maybe some other DE disables or overrides some setting NsCDE and FVWM are not aware of.

daemonspudguy commented 3 years ago

I was using this on a desktop with a Unicomp Ultra Classic USB.

hungngocphat01 commented 3 years ago

Hi, I am using NsCDE on ArchLinux and I am also encountering the same problem (Ctrl-A select all text) is not working. I think this is the only noticable issue that is going on with NsCDE. The rest of the DE is so fantastic!

Update: I tried to boot into vanilla fvwm, and this issue is not happening there.

hungngocphat01 commented 3 years ago

Hi, I have just found a way to temporarily fix the Ctrl-A issue. In X, the shortcut to select all text from the current cursor position to the beginning of the current line is Shift-Home. Hence, you need to map the Ctrl-A combination to Shift-Home using xdotool (install it first if you have not). Add the following line to ~/.NsCDE/NsCde-Keybindings.conf:

Key A A C Exec exec xdotool key End shift+Home

The End key prior to Shift-Home is to move the cursor to the end of the line, so you can select the whole line if your cursor is in the middle of the line.

I find this solution is a "trick" rather than a "fix", so it should be fixed in the future anyway.

NsCDE commented 3 years ago

Hi @hungngocphat01

I'm glad you have found workaround, but I will really like to solve this misterious bug. The problem is I cannot reproduce it.

If you have a time, can you temporary remove this keybinding, logout and login again and then do FvwmCommand "PrintInfo bindings"

There should be 100-200 lines of key binding description text in your $HOME/.xsession-errors file. I'm interested with those which may begin with "Key A" if any.

panzertime commented 2 years ago

I have been having the same "ctrl-a behaves like it does in xterm, everywhere in NsCDE" issue for some time. My FvwmCommand "PrintInfo bindings" results are blank, and there are no messages about key binding at all in my $HOME/.xsession-errors.

I have another strange issue which may be related - the ColorMode for xterm keeps somehow getting turned off, and I have to manually execute xterm +cm to get colors in xterm.

NsCDE commented 2 years ago

It looks like your display manager is not set to log X server and it's children errors into ~/.xsession-errors. If you are using GDM, you can try "journalctl -u gdm -n 300 -f" as user in terminal, then in second terminal FvwmCommand 'PrintInfo bindings'.

What happens if you log in plain vanilla FVWM session without NsCDE? Does Ctrl+A work or not?

panzertime commented 2 years ago

I am using console-tdm with the xsession bundled with NsCDE 1.2. Would I need to uncomment line 29: # exec 1>> "$HOME"/.xsession-errors" ?

I won't be able to run a test until later today, as I currently have 3 different X servers running with different WMs in them, and I won't be able to close them all and run a clean session with only one server logging until after work

NsCDE commented 2 years ago

Yes, that, and there is probably line exec 2>> "$HOME"/.xsession-errors, or you can (probably) append "2>>&1" at the end of the line. FVWM output goes to stderr.

panzertime commented 2 years ago

Running plain FVWM (eg sudo xinit `exec fvwm` -- :5) caused Ctrl+A to start working normally again. Will take a crack at fixing logging now

NsCDE commented 2 years ago

Try to get logging sorted out. Maybe you can start X like that:

xinitexec xterm- :0

... and then from naked bare xterm start NsCDE:

/opt/NsCDE/bin/nscde

This will log all output to that xterm, sou you can copy and paste it. Specially PrintInfo bindings.

Next what you can try is to comment out

+ I f_KeyMenu -a and + I f_ReadCfg Keybindings

In func f_ReadNormalConfig in /opt/NsCDE/config/NsCDE-Main.conf and re-login again without any key bindings and see if problem was there, so we can localize the problem.

panzertime commented 2 years ago

The exec xterm /opt/NsCDE/bin/nscde technique launched a session with the same behavior. I watched the logs while I did some ctrl+as and didn't see any messages about keys or Key A, though a bunch of regular-looking initialization messages did fill the window.

Commenting those two lines out of f_ReadNormalConfig in /opt/NsCDE/config/NsCDE-Main.conf launched a session with the same behavior.

I do notice that ctrl+a does a normal Select All in the text area of xfw. Something about xfw makes it immune, I guess. The address bar of Firefox, and the Github comment textbox as displayed in Firefox, has the "jump to start of line" behavior, but clicking somewhere on a webpage and doing ctrl+a selects the contents of the page. ctrl+a selects an entire image in Gimp. Not sure if that helps us narrow down the issue.

panzertime commented 2 years ago

(Strangely, ctrl+a works perfectly normally for Select All if I launch NsCDE as root)

panzertime commented 2 years ago
[fvwm][Echo]: NsCDE: Starting initialization
[fvwm][ChangeMenuStyle]: <<ERROR>> cannot find style CommonMenu
[fvwm][Echo]: NsCDE: Call functions for Splash, read NsCDE.conf and WSM.conf
[fvwm][Echo]: NsCDE: Starting Splash Screen, running on 4480x1440
[fvwm][Echo]: NsCDE: Setting Workspace Names, using WSM.conf from /opt/NsCDE/config/WSM.conf
[fvwm][Echo]: NsCDE: Desktop Size (Page Matrix): 2x2
[fvwm][Echo]: NsCDE: Reading Functions, Colorset, Font and Style
[fvwm][Echo]: NsCDE: Config file NsCDE-Functions.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Local config file NsCDE-Functions.local read from /home/<REDACTED>/.NsCDE
[fvwm][Echo]: NsCDE: Config file NsCDE-Colorset.conf read from /home/<REDACTED>/.NsCDE
[fvwm][Echo]: NsCDE: Config file NsCDE-Font-96dpi.conf read from /opt/NsCDE/config
[fvwm][style_parse_and_set_window_style]: <<WARNING>> Unconsumed argument in  IconFill bottom right  WindowShadeSteps 1p: WindowShadeSteps 1p
[fvwm][Echo]: NsCDE: Config file NsCDE-Style.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Reading Main Configuration
[fvwm][Echo]: NsCDE: Selected default for browser: firefox
[fvwm][Echo]: NsCDE: Selected default for terminal: xterm
[fvwm][Echo]: NsCDE: Selected default for calculator: xcalc
[fvwm][Echo]: NsCDE: Selected default for volumectrl: pavucontrol
[fvwm][Echo]: NsCDE: Selected default for xrandr: lxqt-config-monitor
[fvwm][Echo]: NsCDE: Config file NsCDE-Backdrops.conf read from /home/<REDACTED>/.NsCDE
[fvwm][Echo]: NsCDE: Config file NsCDE-Monitors.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Mousebindings.conf read from /opt/NsCDE/config
Traceback (most recent call last):
  File "/usr/bin/fvwm-menu-desktop", line 821, in <module>
    main()
  File "/usr/bin/fvwm-menu-desktop", line 383, in main
    previous_theme = next(open(os.path.join(os.path.expanduser(icon_dir), ".theme"), 'r')).replace('\n', '')
StopIteration
[fvwm][Echo]: NsCDE: Config file NsCDE-Menus.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Animate.conf read from /home/<REDACTED>/.NsCDE
[fvwm][Echo]: NsCDE: Config file NsCDE-Ident.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Form.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Script.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Backer.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Event.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Pager-WspLocPager.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Pager-LocalPager.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Pager-GlobalPager.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Subpanels.conf read from /home/<REDACTED>/.NsCDE
[fvwm][Echo]: NsCDE: Config file NsCDE-FrontPanel.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Config file NsCDE-Init.conf read from /home/<REDACTED>/.NsCDE
[fvwm][Echo]: NsCDE: Config file NsCDE-FinishInit.conf read from /opt/NsCDE/config
[fvwm][Echo]: NsCDE: Executing StartFunction
[fvwm][Echo]: NsCDE: Splash Descheduled
[fvwm][Echo]: NsCDE: Executing InitFunction
xsettingsd: Loaded 18 settings from /home/<REDACTED>/.NsCDE/Xsettingsd.conf
xsettingsd: Created window 0x2e00001 on screen 0 with timestamp 2812421074
xsettingsd: Selection _XSETTINGS_S0 is owned by 0x0
xsettingsd: Took ownership of selection _XSETTINGS_S0
[fvwm][Echo]: NsCDE: Splash Descheduled
xscreensaver-systemd: 12:51:51: user bus connection failed: No medium found
xscreensaver: 12:51:51: pid 2493303: xscreensaver-systemd exited unexpectedly with status 1
[fvwm][Echo]: NsCDE: Startup and initialization finished.

This is what the log looks like with those lines commented out in a session launched from my user account. I did some clicking and ctrl+a's after the end of the log but they didn't cause any messages to get printed

melroy89 commented 2 years ago

Nice to see some movement regarding this issue, hopefully we can solve it once and for all!

NsCDE commented 2 years ago

Hi,

Couple of things:

Fix your ~/.NsCDE/NsCDE.conf - you are probably missing "," in line which contains "IconFill". Most probably not connected with this case, but anyway.

Problem seems to be very strange. Like if some desktop daemon or some other thing is preventing Ctrl+a. This is because you said commenting out reading of key bindings on the startup didn't helped.

Anyway, try those few things which I suggested above, and let's see the results.

NsCDE commented 2 years ago

I was able to reproduce this in virtual environment on Arch Linux and Fedora. I think I found it.

From ~/.gtkrc-2.0 ~/.config/gtk-3.0/settings.ini and from ~/.NsCDE/Xsettingsd.conf remove

gtk-key-theme-name = "Emacs"`

or

Gtk/KeyThemeName "Emacs"

With NsCDE process manager, restart Xsettingsd. That should do it for the most cases. Be aware that different X/GUI toolkits and programs have different ideas about what should ctrl+a do, so this cannot be 100%.

I will also comment out this for 1.3 release. For some reason it was default for a long time without much of thinking.

panzertime commented 2 years ago

That fix worked for me. FWIW, it was not set in ~/.config/gtk-3.0/settings.ini on my install, only in the other two files.

panzertime commented 2 years ago

Also, I found why xterm's colorMode kept getting clobbered - there is a typo in the the xrdb portion of the nscde script. I will submit a PR

NsCDE commented 2 years ago

Ok, please submit ASAP, I will really like to release 1.3. Thanks.

panzertime commented 2 years ago

https://github.com/NsCDE/NsCDE/pull/71 <- the PR

NsCDE commented 2 years ago

Is there is no other objections. We can close this issue here.

melroy89 commented 2 years ago

Is it fixed out of the box? No work around required next time I install NsCDE? 🤯

melroy89 commented 2 years ago

I trust you that it's fixed, if you say we don't have any copy and paste issues.

NsCDE commented 2 years ago

Ok.