Giter Site home page Giter Site logo

lxqt / lxqt-config Goto Github PK

View Code? Open in Web Editor NEW
81.0 81.0 62.0 4.59 MB

Tools to configure LXQt and the underlying operating system

Home Page: https://lxqt.github.io

License: GNU Lesser General Public License v2.1

CMake 2.65% C++ 96.07% C 0.70% Shell 0.03% Roff 0.55%

lxqt-config's Introduction

LXQt

LXQt is the next generation of LXDE, the Lightweight Desktop Environment. It is the product of the merge between Razor-qt and LXDE-Qt.

About this repository

This is a superproject which contains all LXQt components. After checking out this repo please do the following to initialize git submodules.

git submodule init
git submodule update --remote --rebase

Note: We require git >= 1.8.5

Contributing

If you are interested in helping or joining LXQt, please take a look at our CONTRIBUTING document

Translation

Translations can be done in LXQt-Weblate.

Translation status
Translation status

lxqt-config's People

Contributors

agaida avatar amoskvin avatar ayhanyalcinsoy avatar dglent avatar eltonfabricio10 avatar gabrielyyz avatar helixbot avatar jleclanche avatar luis-pereira avatar lxqtbot avatar mbouzada avatar micrococo avatar p-bo avatar paiiou avatar palinek avatar pcman avatar pvanek avatar rbuj avatar roxfr avatar safaalfulaij avatar scootergrisen avatar selairi avatar smarquespt avatar sokoloffa avatar stefonarch avatar surlykke avatar tsujan avatar welaq avatar yarons avatar zoli111 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lxqt-config's Issues

Tooltips aren't informative

Expected Behavior

Tooltips are usually used to add something that doesn't exist in the GUI. A desktop file can contain a "Comment" section and the main menu (of lxqt-panel) shows it. Why not showing it here?

Current Behavior

In the case of lxqt-config, tooltips only show full names. OK, that's good because the GUI names may be elided but it isn't enough.

Context

My recent obsession with tooltips in libfm-qt (done).

System Information

Latest git

All Touchpad settings disabled

Expected Behavior

Ability to adjust touchpad properties.

Current Behavior

One Picture, less words. :)

touchpad-config-disabled

Possible Solution

Show warning when driver != "libinput".

Steps to Reproduce (for bugs)
  1. Open lxqt-config-input
  2. select touchpad settings
Context

Trying to customize Touchpad to my needs.

System Information
  • Distribution & Version: Manjaro 20.1
  • Kernel: 5.4 (LTS)
  • Qt Version: 5.15
  • liblxqt Version: 0.15.1
  • lxqt-build-tools Version: ??
  • Package version: 0.15.0

Poor user experience in lxqt-config-brightness

I'm running lxqt on a laptop and I found the way the brightness controls work to be very suboptimal. My main gripes with it currently are:

  • There's no telling what each control does. The user has to move them around to get an intuition of their function.

  • The dial-style control is very unwieldy on a trackpad, resulting on me swinging it around violently or unintentionally letting go of it while trying to fine tune.

  • The way it currently works you can't easily try a setting that alters both controls. You have to move one control, save your configuration, then tweak the other one, save, then perhaps tweak the first one again, save, and so forth. The modal dialog is just too disruptive.

I'm no UX expert, but what I suggest to alleviate those problems is:

  • Individual labels for each control.

  • Make the control that is currently a dial(brightness?) into a slider like the other one(backlight?).

  • This is the trickiest of the three. On one hand the user should be able to move the controls around and immediately see what the screen would look like, on the other hand we want a failsafe in case he accidentally sets his screen too bright/dark, but it shouldn't hassle the user too much mid-tuning like it does now.

One solution I can think off the top of my head would be do away with the modal popup and just have an "Apply/Save" button on the main window. Then have a timer running that resets every time the user changes the value of a control, and if the timer expires before the user clicks the apply button it automatically reverts to the previous value.

Not sure if relevant here but, just in case, I'm running LXQt 0.12 on Qt 5.10.1.

After set new wallpaper with pcmanfm-qt, wallpaper will not update without trigger

Hi.
I use the dynamic wallpaper (xplanetFX), which use the external script to update wallpaper.
I decide to test updating wallpaper with terminal:
pcmanfm-qt --set-wallpaper=/home/user/picture.jpg --wallpaper-mode=fit

Expected Behavior

Wallpaper should update immediately.

Current Behavior

When cursor remain over any window region, wallpaper will not update.
Wallpaper will update after mouse cursor move over free (unoccupied with any window) desktop space.

Possible Solution
Steps to Reproduce (for bugs)
  1. Use any terminal. Set the mouse cursor under any window region;
  2. Use command: pcmanfm-qt --set-wallpaper=FILE --wallpaper-mode=MODE
  3. Do not move the mouse cursor (wallpaper will not update)
  4. Move the mouse cursor over free (unoccupied with any window) desktop space: wallpaper will update.
Context
System Information
  • Distribution & Version:
    Debian Buster (testing)
  • Kernel: 4.19.04 (amd64)
  • Qt Version: 5.11
  • liblxqt Version: 0.14.1-1
  • lxqt-build-tools Version: 0.6.0-2
  • Package version:

Additional info:
Window manger: openbox or xfwm.

P.S. sorry for my bad English

lxqt-config-monitor: quick termination of session triggers crash

Terminating LXQt sessions too quickly after starting makes both the KScreen backend and lxqt-config-monitor crash and dump core.

Once settings were saved in lxqt-config-monitor and hence file .config/autostart/lxqt-config-monitor-autostart.desktop is in place several configuration steps take place upon starting LXQt sessions reflected by messages like

Apr 13 18:38:09 arch-64-lxqt-git dbus-daemon[862]: Activating service name='org.kde.KScreen'
Apr 13 18:38:09 arch-64-lxqt-git dbus-daemon[862]: Successfully activated service 'org.kde.KScreen'
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr: Connected output 67 to CRTC 63
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xcb.helper: Detected XRandR 1.4
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xcb.helper: Event Base:  89
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xcb.helper: Event Error:  147
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen: Loading "XRandR" backend
Apr 13 18:38:09 arch-64-lxqt-git lxqt-config-monitor[3042]: Output:  "Virtual-0"
Apr 13 18:38:09 arch-64-lxqt-git lxqt-config-monitor[3042]: Output:  "Virtual-1"
Apr 13 18:38:09 arch-64-lxqt-git lxqt-config-monitor[3042]: Output:  "Virtual-2"
Apr 13 18:38:09 arch-64-lxqt-git lxqt-config-monitor[3042]: Output:  "Virtual-3"
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr: XRandR::setConfig
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr: Requested screen size is QSize(1024, 768)
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr: Needed CRTCs:  1
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr: Actions to perform:
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr:         Primary Output: false
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr:         Change Screen Size: false
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr:         Disable outputs: false
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr:         Change outputs: false
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr:         Enable outputs: false
Apr 13 18:38:09 arch-64-lxqt-git kscreen_backend_launcher[3122]: kscreen.xrandr: XRandR::setConfig done!

The crashes reproducibly take place when the LXQt sessions gets finished before these configuration steps have been completed. This probably won't happen too frequently but may very well happen when e. g. an LXQt session was started incidentally.
Traces can be found on https://gist.github.com/pmattern/2c05d51d24400eb1ac03421623a21201

According to the logs it's KScreen to crash first, so the crash of lxqt-config-monitor is kind of secondary. Nonetheless a crash of the backend shouldn't necessarily trigger a crash of lxqt-config-monitor itself.
Attempts to figure out whether the crash of KScreen can be seen independently from LXQt failed. In KDE sessions the configuration stated above is finished long before any GUIs to terminate the session become accessible.

Seen running latest VCS checkouts of all LXQt components on up to date Arch Linux x86_64 running either in KVM/QEMU virtual machines or on hardware.

lxqt-config-monitor: 'Apply' Not Saving Current Configuration

This might be more of a request for comments than an issue report, but in any case, before I put more time into (properly) changing things, I figured I'd make sure if changes would be appreciated or not.

Expected Behavior

Clicking 'Apply' in 'Monitor Settings' saves the current configuration as 'currentConfig' in 'lxqt-config-monitor.conf'.

Current Behavior

The current configuration is only saved when 'Save' is clicked.

Possible Solution

At first I thought this might be as simple as adding calls to whatever writes 'currentConfig' in at least one more place, but it seems it's done in 'MonitorSettingsDialog::saveConfiguration' (https://github.com/lxqt/lxqt-config/blob/master/lxqt-config-monitor/monitorsettingsdialog.cpp#L163), so without duplicating things it would not be quite that simple to do (or maybe it just needs a global variable, but I'm not sure how good of an idea that is).

So, I was wondering if the best way to handle this would be to refactor the writing of 'currentConfig' and 'SavedConfigs' out of 'saveConfiguration', or/and turn 'saveConfiguration' into something else.

Steps to Reproduce (for bugs)
  1. Run 'lxqt-config-monitor'.
  2. Change some settings.
  3. Hit 'Apply'.
  4. Observe 'currentConfig' not being written into 'lxqt-config-monitor.conf'.
Context

I bumped into this while using a dual monitor set-up with DisplayPorts involved. DisplayPort seems to have this... "feature"... where it disappears completely as far as the machine is conserned when the monitor is powered off. This lead into unexpected (to me at least) settings to be automagically selected whenever I turned it on again (the settings I had last saved, not the 'current' settings I had set just before powering the thing off).

System Information
  • Distribution & Version: Gentoo Linux
  • Kernel: Linux 5.8.7
  • Qt Version: 5.15.1 (5.15 git master)
  • liblxqt Version: 0.15.1 (git master)
  • lxqt-build-tools Version: 0.7.0 (git master)
  • Package version: 9999 (git master)

lxqt-config-locale: derive default values from session locale

If lxqt-config-locale gets launched using a locale different from the session's one, e. g. by running LANG=en_GB.UTF-8 lxqt-config-locale in a session that's run with LANG=de_DE.UTF-8, the former locale gets taken on as default value in the GUI.
Closing the UI doesn't throw any message and hence suggests the English locale gets set. But this doesn't apply. Rather, no locale settings are changed at all.

Launching lxqt-config-locale in a locale that's different from the session's one is probably an approach not taken too frequently on production systems, it's rather done to perform tests. Yet I think this is something that should get fixed.

lxqt-config-brightness: no choice not info on which monitor the brightness is tuned

Expected Behavior

Action of the keys acts on laptop's monitor backlight.

Current Behavior

My configuration is a laptop with an additional monitor connected through HDMI.
When I use brightness keys or the command :
lxqt-config-brightness -d
this has effect on the additional monitor, not the main.

Possible Solution

Either add a option to designate the monitor, or default to main display.

Context

Two monitors:

  • first of the laptop
  • second through HDMI
System Information
  • Distribution & Version: Mageia 7
  • Kernel: 5.4.10
  • Qt Version: 5.12.6
  • liblxqt Version: 0.14.1
  • Package version: 1.mga7

[lxqt-config-monitor] Crash in lubuntu hirsute

lxqt-config-monitor 0.15 crashes in lubuntu hirsute:

$ lxqt-config-monitor -l
Segmentation fault (core dumped)

this app works with root permissions:

$ sudo lxqt-config-monitor -l
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[load.applyBestSettings()] Finished
lxqt-config-monitor: Applying current settings...
Output:  "LVDS-1"
Output:  "VGA-1"
Output:  "HDMI-1"
Output:  "DP-1"
Output:  "VGA-1-2"
lxqt-config-monitor: Settings applied.

"Single click to activate items" enables and disables libinput 'Tapping Enabled'

Proof that "Single click to activate items" enables and disables libinput 'tapping enabled':

With "Single click to activate items" disabled:

xinput --list-props 12
...
libinput Tapping Enabled (302): 0
...

With "Single click to activate items" enabled:

xinput --list-props 12
...
libinput Tapping Enabled (302): 1
...

"Single click to activate items" has no other effect.

[lxqt-config-appearance] - Add in Openbox theme selector? (may partially deprecate obconf-qt?)

This is just an idea, as I'm aware LXQt doesn't hard-depend on or lock its users into Openbox. Would it be possible, or even advisable, to add in an "Openbox Theme" section to the Appearance configurator?

I've attached a very quick and dirty mockup I made in The GIMP of what this might look like. Basically it would just add another item and icon to the left panel and reproduce the theme list from obconf-qt in the right panel.
LXQt-Appearance-Mockup

Suggestion: Separate lxqt-config-appearance from lxqt-config and release it as a standalone package

Given that LXDE's LXAppearance package is popular enough to be used independently without other LXDE components by the linux communities[1][2][3][4][5][6], I don't see why its LXQt analogue, lxqt-config-appearance, is not provided as a standalone package as well. Both programs deal with theming issue, with the latter being able to configurate Qt themes alongside GTK ones. Installing lxqt-config-appearance alone will provide one tool for configuring two themes. lxqt-config-appearance is currently bundled in lxqt-config package. Henceforth, a user needing only the former needs to install the whole package of the latter.

Expected Behavior

lxqt-config-appearance to exist as a separate package and can be installed independently out of other LXQt components.

Current Behavior

lxqt-config-appearance is bundled with other components in lxqt-config package.

Possible Solution
  • Separate lxqt-config-appearance from lxqt-config and release it as a standalone package.
  • Maybe even rebrand it as lxqt-appearance so that it can be more easily identified by those familiar with LXDE.
Context

This can be useful for those who are already familiar with LXappearance or LXDE, or only need the appearance config for configurating themes and not the other settings and programs that come as part of lxqt-config by default. Given the popularity of LXappearance, it may be a good idea to make the appearance config modular as well. Meanwhile, there are other components that logically can be assumed as part of lxqt-config but already exist as standalone packages, such as lxqt-admin, lxqt-notificationd, and lxqt-powermanagement, and this can be put as an argument to implement this suggestion.

References
  1. ArchWiki page listing LXappearance as a themer for GTK.
  2. Ubuntu Forum page
  3. r/unixporn subreddit page 1
  4. r/unixporn subreddit page 2
  5. r/unixporn subreddit page 3
  6. Or really just look at the internet

Make the config editor symlink friendly

When you change a setting, lxqt-config seems to delete any existing config, then make a new one, rather than editing the existing config file in place. Even if the file is a symlink, the editor replaces the symlink rather than following it and replacing the file.

I am using a symlink manager (GNU stow) in order to sync my desktop configuration across the devices I use. So the above behavior is a problem.

❯ lxqt-config --version
lxqt-config 0.16.1
liblxqt   0.16.0
Qt        5.15.1

I am testing this on archlinux.

Expected Behavior

Follow the symlink, replace the actual file with the new config file.
Both the initial and the final structure must look like this.

~/.config/lxqt/lxqt.conf -> ~/.dotfiles/.config/lxqt/lxqt.conf (symlink)
~/.dotfiles/.config/lxqt/lxqt.conf (actual file)
Current Behavior

The symlink is being replaced instead.
This is how it looks after the replacement.

~/.config/lxqt/lxqt.conf (new config file)
~/.dotfiles/.config/lxqt/lxqt.conf (old config file)
Possible Solution

Follow the symlink chain, then replace the actual file (either in-place or by replacing).

Steps to Reproduce (for bugs)
  1. Change a setting in lxqt-config and save.
Context

Using dotfiles to sync config across linux machines.

System Information
  • Distribution & Version: Archlinux, rolling
  • Kernel: 5.11.11
  • Qt Version: 5.15.1
  • liblxqt Version: 0.16.0
  • lxqt-build-tools Version: 0.8.0
  • Package version: 0.16.1

Fails to build with Qt5 5.12.10

This is another QStringView issue:

[100%] Building CXX object lxqt-config-appearance/CMakeFiles/lxqt-config-appearance.dir/LXQtAppTranslationLoader.cpp.o
cd /builddir/build/BUILD/lxqt-config-0.17.1/i686-redhat-linux-gnu/lxqt-config-appearance && /usr/lib/ccache/c++ -DLXQT_CONFIG_VERSION=\"0.17.0\" -DLXQT_DATA_DIR=\"/usr/share\" -DLXQT_ETC_XDG_DIR=\"/etc/xdg\" -DLXQT_GRAPHICS_DIR=\"/usr/share/lxqt/graphics\" -DLXQT_MAJOR_VERSION=\"0\" -DLXQT_MINOR_VERSION=\"17\" -DLXQT_PATCH_VERSION=\"0\" -DLXQT_RELATIVE_SHARE_DIR=\"lxqt\" -DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=\"lxqt/translations\" -DLXQT_SHARE_DIR=\"/usr/share/lxqt\" -DLXQT_SHARE_TRANSLATIONS_DIR=\"/usr/share/lxqt/translations\" -DLXQT_VERSION=\"0.17.0\" -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_URL_CAST_FROM_STRING -DQT_SVG_LIB -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DQT_XML_LIB -I/builddir/build/BUILD/lxqt-config-0.17.1/i686-redhat-linux-gnu/lxqt-config-appearance -I/builddir/build/BUILD/lxqt-config-0.17.1/lxqt-config-appearance -I/builddir/build/BUILD/lxqt-config-0.17.1/i686-redhat-linux-gnu/lxqt-config-appearance/lxqt-config-appearance_autogen/include -I/usr/include/qt5/QtGui/5.12.10 -I/usr/include/qt5/QtGui/5.12.10/QtGui -I/usr/include/qt5/QtCore/5.12.10 -I/usr/include/qt5/QtCore/5.12.10/QtCore -I/builddir/build/BUILD/lxqt-config-0.17.1/lxqt-config-appearance/../liblxqt-config-cursor -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib/qt5/./mkspecs/linux-g++ -isystem /usr/include/qt5/QtX11Extras -isystem /usr/include/qt5/QtXml -isystem /usr/include/lxqt -isystem /usr/include/lxqt/LXQt -isystem /usr/include/KF5/KWindowSystem -isystem /usr/include/KF5 -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5xdg -isystem /usr/include/qt5xdgiconloader -isystem /usr/include/qt5xdgiconloader/3.7.0 -isystem /usr/include/qt5/QtSvg -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -fno-exceptions -Wall -Wextra -Wchar-subscripts -Wno-long-long -Wpointer-arith -Wundef -Wformat-security -Wnon-virtual-dtor -Woverloaded-virtual -Wpedantic -DNDEBUG -fPIE -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=c++14 -o CMakeFiles/lxqt-config-appearance.dir/LXQtAppTranslationLoader.cpp.o -c /builddir/build/BUILD/lxqt-config-0.17.1/i686-redhat-linux-gnu/lxqt-config-appearance/LXQtAppTranslationLoader.cpp
gmake[2]: Leaving directory '/builddir/build/BUILD/lxqt-config-0.17.1/i686-redhat-linux-gnu'
[100%] Built target lxqt-config-input
/builddir/build/BUILD/lxqt-config-0.17.1/lxqt-config-appearance/configothertoolkits.cpp: In member function 'void ConfigOtherToolKits::setGsettingsConfig(QString, QString)':
/builddir/build/BUILD/lxqt-config-0.17.1/lxqt-config-appearance/configothertoolkits.cpp:232:38: error: 'splitCommand' is not a member of 'QProcess'
         QStringList args = QProcess::splitCommand(QStringView(command));
                                      ^~~~~~~~~~~~
gmake[2]: *** [lxqt-config-appearance/CMakeFiles/lxqt-config-appearance.dir/build.make:381: lxqt-config-appearance/CMakeFiles/lxqt-config-appearance.dir/configothertoolkits.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: Leaving directory '/builddir/build/BUILD/lxqt-config-0.17.1/i686-redhat-linux-gnu'
gmake[1]: *** [CMakeFiles/Makefile2:613: lxqt-config-appearance/CMakeFiles/lxqt-config-appearance.dir/all] Error 2
gmake[1]: Leaving directory '/builddir/build/BUILD/lxqt-config-0.17.1/i686-redhat-linux-gnu'
gmake: *** [Makefile:152: all] Error 2

This is the related code. No clue (yet) how to make this work with Qt5 5.12.

Captura de pantalla_2021-04-15_11-04-16

So far this is my build order:

    lxqt-build-tools-0.9.0
    libqtxdg-3.7.0
    liblxqt-0.17.0
    libfm-qt-0.17.0
    lxqt-qtplugin-0.17.0
    libsysstat-0.4.5
    qtermwidget-0.17.0
    pcmanfm-qt-0.17.0
    lximage-qt-0.17.0
    lxqt-archiver-0.4.0
    lxqt-about-0.17.0
    lxqt-config-0.17.1 <-- I'm stuck here
    lxqt-globalkeys-0.17.0
    lxqt-notificationd-0.17.0
    lxqt-policykit-0.17.0
    lxqt-powermanagement-0.17.0
    lxqt-session-0.17.0
    lxqt-sudo-0.17.0
    lxqt-panel-0.17.0
    lxqt-runner-0.17.0
    lxqt-themes-0.17.0
    qterminal-0.17.0
    lxqt-openssh-askpass-0.17.0
    lxqt-admin-0.17.0
    pavucontrol-qt-0.17.0
    screengrab-2.2.0
    qps-2.3.0

lxqt-config-brightness: Use native backlight control instead of fake brightness controll when available

If native backlight control is available, a slider in lxqt-config-control allows to use it instead of the "faked" brightness control. However, this is not the case when we run lxqt-config-brightness with -i or -d to decrease/increase brightness using command line. I request to add that functionality here, too.

The main reason: lxqt-config-brightness -d/-i is used for the keyboard shortcuts for brightness controll. As a result, using the shortcuts, the user always ends up with the faked brightness control, even when the native one is available.

Win+Space shortcut for keyboard layout switching not working with some layouts

The Win+Space short cut works, but only moving to certain keyboard layouts, not from them. This is not a problem with many other shortcuts, including all the other Win options. It only affects certain layouts. So far I have tested Persian (where it was originally reported) but also Afghani.

Expected Behavior

Win+Space always switches keyboard layout.

Current Behavior

Switching out of Persian or Afghani with Win+Space does not work. You can switch to it, but not out of it. That means if English is default and Persian is second, it works to switch to Persian, but does not work to switch back. On the other hand, if Persian is default and English second, you can't switch at all.

Steps to Reproduce (for bugs)

NOTE: this assumes a normal English keyboard.

  1. Open up keyboard layout settings
  2. Set English as default and Persian as second
  3. Set Win+Space as the shortcut
  4. Click apply
  5. Open Featherpad
  6. Type test
  7. "test" is printed
  8. Hold Meta while hitting Space
  9. Type test
  10. "فثسف" is printed
  11. Hold Meta while hitting Space
  12. Type test
  13. "فثسف" is printed where "test" should be
  14. Open up keyboard layout settings
  15. Swap the position of English and Persian so Persian is default
  16. Click apply
  17. Open Featherpad
  18. Type test
  19. "فثسف" is printed
  20. Hold Meta while hitting Space
  21. Type test
  22. "فثسف" is printed where "test" should be
Other information

Just to remove any possibility of conflicts, I disabled all Meta/Super shortcuts in Global Keys and also ensured there were no Meta/Super shortcuts in the window manager configuration (Lubuntu doesn't have any by default in Openbox).

I also checked with both French and Belgian and had no problems switching around as much as I liked, so it does not affect all layouts.

FWIW, downstream bug is here.

And another thing…

Why do we call it Win?! We really should use Meta/Super as Global Keys does.

System Information
  • Distribution & Version: Lubuntu 20.10
  • Kernel: 5.8.0
  • Qt Version: 5.15.2
  • liblxqt Version: 0.16.0
  • Package version: 0.15.0+git202101221151~hirsute-0ubuntu1~ppa1
    • NOTE: this is upstream Git master as of 11:51am today merged with our current version which is, yes, 0.15.0. What that means, though, is that this is really 0.16.0 and then some.

More detailed color customization

The latest git LXQt can set the window color and Qt will calculate other colors based on it. But some users may want more customization.

The following screenshot shows my proposal:

palette

The page is a scroll area so that the new color labels don't make it bigger.

The number of colors Qt supports is much more than 6 but, IMHO, we don't need more. If the user wants a finer customization, he/she will need a widget style with separate options that can be used under all DEs.

I opened this page for discussion before implementation. If it's decided quickly, I'll implement it before 0.16; otherwise, it could wait.

EDIT: Link and visited link colors should also be added (see below).

Changing font DPI has no effect

It's under Configuration Center → Appearance → Font → Resolution (DPI). The same setting has effect in KDE's systemsettings and if changed from 96 to 192, fonts will be double-sized.

Changing font resolution is needed with HDPI monitors. Please see lxqt/lxqt#916 (comment) !

lxqt-config-brightness -i and -d don't work properly on AMD

Expected Behvior

lxqt-config-brightness adjusts the backlight of the display

Current Behavior

lxqt-config-brightness ignores the backlight of the display, and adds a transparent black filter to make it seem as if the brightness is being adjusted. Additionally, it prints:

(0x7ffdf7975ba0) Debug: No outputs have backlight property

However, adjusting the slider does work as intended.

Possible Solution

Adjust the backlight brightness the same way it's adjusted when the slider is adjusted.

Steps to Reproduce (for bugs)
  1. Use an AMD laptop
  2. Run lxqt-config-brightness -d
Context

Lubuntu uses lxqt-config-brightness -i / -d to adjust the brightness when brightness keys are pressed.

System Information
  • Distribution & Version: Ubuntu 20.04
  • liblxqt Version: 0.14.1
  • Package version: 0.14.1-0ubuntu3
    I did read the warning about Ubuntu, but I can't find that any evidence that this bug was fixed on the upstream version

multiple lxqt-config-monitor processes

When screen blanks after a set time, after a while when unblanking screen the process list contains multiple (up to 20 at one point) lxqt-config-monitor processes which had to be killed with a sudo killall to remove.

I'm using latest Lubuntu 21.04 release with AMD graphics.

Screenshot: https://imgur.com/a/0pKaZlK

Setting monospace

Monospace is important for text editors but lxqt-config doesn't have a setting for it.

Expected Behavior

An option for setting monospace, like the one KDE has.

Current Behavior

Monospace is missing from LXQt Appearance → Font.

Possible Solution

Shouldn't be hard: just add some lines to ~/.config/fontconfig/fonts.conf. But I may be wrong because I'm not an expert in this area.

Context

Yesterday, as a result of upgrading to a bad package in Manjaro/Arch (ttf-droid), I got a bad monospace that couldn't get bold. So, I had to edit ~/.config/fontconfig/fonts.conf to restore my favorite DejaVu Sans Mono.

Shortcut for switching keyboard layout cannot be changed

I think that should be my fault; I should have missed it when adding the Apply button. (The same is true about changing keyboard model -- it has no effect.)

And it went into Debian stable :(

Will fix it as soon as possible.

"Single click to activate items"

In 'Keyboard and Mouse Settings' -> 'Mouse and Touchpad', ticking "Single click to activate items" actually enables libinput tap-to-click behaviour.

This description is confusing, since "single click to activate items" is associated with opening directories in a file manager using a single click rather than a double click. Indeed, Thunar has an option with exactly this name that enables this behaviour.

It would make more sense if the option were labelled "Tap-to-click'.

X11_Xinput_LIB not found

Latest git gives me:

[   92s] -- Found X11: /usr/lib64/libX11.so
[   92s] -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
[   92s] -- Checking for modules 'xcb;xcb'
[   92s] --   Found xcb, version 1.13
[   92s] --   Found xcb, version 1.13
[   92s] -- Found XCB: /usr/lib64/libxcb.so;/usr/lib64/libxcb.so  
[   92s] -- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11") 
[   92s] -- Checking for module 'xorg-libinput'
[   93s] --   Found xorg-libinput, version 0.28.1
[   93s] -- Checking for modules 'xcb;xcb;xcb-randr'
[   93s] --   Found xcb, version 1.13
[   93s] --   Found xcb, version 1.13
[   93s] --   Found xcb-randr, version 1.13
[   93s] -- Found XCB: /usr/lib64/libxcb.so;/usr/lib64/libxcb.so;/usr/lib64/libxcb-randr.so  
[   93s] CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
[   93s] Please set them or make sure they are set and tested correctly in the CMake files:
[   93s] X11_Xinput_LIB (ADVANCED)

xorg-libinput devel package is installed. @yan12125 shouldn't X11_Xinput_LIB be set automatically?

LxQt Locale configuration no option for bengali or Bangladesh

Expected Behavior

At least Region and Time option for Bangladesh should be available.

Current Behavior

No option in Region and Time option for Bangladesh should be available.
image

Possible Solution
Steps to Reproduce (for bugs)
Context
System Information
  • Distribution & Version:
  • Kernel: 5.0.0-13
  • Qt Version: 5.12.2
  • liblxqt Version:
  • lxqt-build-tools Version:
  • Package version:

Touchpad Settings (Request)

This is more a request than a bug.

In the mouse settings theres no options for touchpads (vertical and horizontal scroll, tap, etc). It will be great if the option could be included in the settings app.

[lxqt-config-locale] list issues

Hi!
Two suggestions about the list of locales:

  • Put those locales which are actually built on the system at the top of the list. All other - after a separator, or under some 'other' section, or in /dev/null. Why would a hundred of non-existing locales be listed anyway?
  • Sort by locale name, then by comment (Also put name first). The list is a mess right now.

Mouse settings have no effect (acceleration, sensivity)

Expected Behavior

One should be able to set these parameters with our application

Current Behavior

one is not able to. xinput works fine

Possible Solution

fixing it

Steps to Reproduce (for bugs)
  1. just play with the settings
System Information
  • Distribution & Version: Debian Sid lxqt custom build
Remark

I'm able to set the matrix from the command line - so there is a chance to get this working

xinput list-props 14
Device 'Logitech M720 Triathlon':
        Device Enabled (154):   1
        Coordinate Transformation Matrix (156): 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Natural Scrolling Enabled (292):       0
        libinput Natural Scrolling Enabled Default (293):       0
        libinput Scroll Methods Available (294):        0, 0, 1
        libinput Scroll Method Enabled (295):   0, 0, 0
        libinput Scroll Method Enabled Default (296):   0, 0, 0
        libinput Button Scrolling Button (297): 2
        libinput Button Scrolling Button Default (298): 2
        libinput Middle Emulation Enabled (299):        0
        libinput Middle Emulation Enabled Default (300):        0
        libinput Accel Speed (301):     0.000000
        libinput Accel Speed Default (302):     0.000000
        libinput Accel Profiles Available (303):        1, 1
        libinput Accel Profile Enabled (304):   1, 0
        libinput Accel Profile Enabled Default (305):   1, 0
        libinput Left Handed Enabled (306):     0
        libinput Left Handed Enabled Default (307):     0
        libinput Send Events Modes Available (277):     1, 0
        libinput Send Events Mode Enabled (278):        0, 0
        libinput Send Events Mode Enabled Default (279):        0, 0
        Device Node (280):      "/dev/input/event5"
        Device Product ID (281):        1133, 16478
        libinput Drag Lock Buttons (308):       <no items>
        libinput Horizontal Scroll Enabled (309):       1

# insane fast
xinput set-prop 14  "Coordinate Transformation Matrix" 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000
# normal
xinput set-prop 14  "Coordinate Transformation Matrix" 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
# slow
xinput set-prop 14  "Coordinate Transformation Matrix" 0.500000, 0.000000, 0.000000, 0.000000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000

LXQt Appearance doesn't find GTK themes which installed to ~/.themes

Steps to Reproduce
  1. Put a GTK theme to ~/.themes folder
  2. Open Appearance Settings. The name of the theme doesn't appear in the combo list. This happens both with GTK2 and GTK3 themes.
System Information
  • Distribution & Version: Arch
  • Kernel: 5.9.1-arch1-1
  • Qt Version: 5.15.1-3
  • liblxqt Version: 0.15.1.10.g8669419-1
  • lxqt-build-tools Version: 0.7.0.3.g905b1e3-1
  • Package version: 0.15.0.75.g27ae877-1

Unable to translate "Mouse and tauchpad" on Weblate

Expected Behavior

I want to translate "Mouse and tauchpad" into Japanse on Weblate.

Screenshot 1:
config-input_ja_mark

Screenshot 2 (LANG=C):
config-input_en_mark

Current Behavior

I don't found the strings to translate on Weblate.
https://weblate.lxqt.org/projects/lxqt/lxqt-config-input/ja/

Strings:

Mouse and Touchpad
Device
Acceleration speed
Single clock to activate items
Natural Scrolling
Tap to drag
Scrolling
Disabled
Two-Finger
Edge
Button
Possible Solution

"lxqt-config-input.ts" does not include strings of "touchpadconfig.ui".
"lxqt-config-input.ts" is old. This date is 23 Jun 2018.
I think you need to update "lxqt-config-input.ts".

https://github.com/lxqt/lxqt-config/blob/master/lxqt-config-input/translations/lxqt-config-input.ts
https://github.com/lxqt/lxqt-config/blob/master/lxqt-config-input/touchpadconfig.ui

Steps to Reproduce (for bugs)
  1. Open https://weblate.lxqt.org/projects/lxqt/lxqt-config-input/ja/
Context

I can't use "Mouse and Touchpad" in japanese.

System Information
  • LXQt Version: 0.14.1 (add-apt-repository ppa:lxqt/ppa)

  • Distribution & Version: Ubuntu 18.04.3 LTS

  • Kernel: 4.15.0-58-generic

  • Qt Version: 5.9.5

  • liblxqt Version: 0.14.1

  • lxqt-build-tools Version: 0.6.0-0ubuntu1

  • Package version: lxqt-config/bionic,now 0.14.1-0ubuntu1

[lxqt-config-monitor] Two "Apply" buttons in the same screen

After opening lxqt-config-monitor, then selected "Paramètres" (Settings ) I get a list of saved configurations, and under the box, a first button "Appliquer" (Apply) and a second button "Appliquer" at the bottom right. Two buttons with the same name are confusing.

  1. After selecting a config to restore, the second button has no effect. There is no need of a button which has no effect.
  2. After a click on the second button, new settings are indeed applied, but the application is directly closed. In other parts of the application,like applying quick settings, we have a dialogue to confirm that the configuration is OK, and after that the application survives. I'm not in favour of to much dialogues, but I don't understand why this is dealt so differently.
    Release Mageia lxqt-config-0.14.1-2.mga7

gtk-mouse settings are not saved

gtk-cursor-theme-name="Adwaita"
gtk-cursor-theme-size=0

The themes will set via lxqt-config-appearance, but not saved and not provided via xsettings - bad :(
Second - will file a new bug for, the cursor-theme-size can't be set.

On the fly it works:

Steps to reproduce:

  1. Open Chrome or Brave broweser
  2. Open lxqt-config-appearance and set a theme - hurray, it works.
  3. Close both.
  4. Open Browser again and be sad.

Accessibility

Having spoken with @agaida on IRC with regards to accessibility options - I was asked to open an issue here :)

Would it be possible to have GUI accessibility options for.

  • Cursor size
  • Sticky keys

agaida has graciously given me workarounds for these for the time being, but it would be nice to have these OOTB.

Cheers.

[Appearance] Breeze theme "missing" for gtk3 (showing for gtk2)

OS:
Debian unstable - with lxqt snapshots repo at lxqt.debian.net

Issue:
The breeze theme isn't showing as an option for gtk3 but it IS for gtk2, I believe I have all the correct packages installed..

no_theme

breeze

Notes:
After noticing this bug and chatting with @agaida, I installed adwaita themes & it shows up for both gtk versions.

Something is changed with Qt 5.13?

After I recompiled lxqt-config against Qt 5.13, I saw that its side-panes became too wide. This screenshot is taken with Breeze but the problem exists with all styles:

lxqt-config

@yan12125, I know you have Qt 5.13; do you see a similar change?

LXQt with HiDPI is a mess until the dpi setting is fixed

Expected Behavior

At least it should be possible to set up LXQt in a way that renders Qt and Gtk programs usable

Current Behavior

It isn't possible - The user has the choice to make Qt or GTK looking good and usable. The problems are only about font sizes - everything else is fine. Can't resist to rant a bit. Will provide screenshots and settings.

Possible Solution

We should fix it as soon as possible. Maybe fixing our DPI-Settings would be a good idea.

Steps to Reproduce (for bugs)
  1. Buy a HiDPI Monitor and start your installation
Context

Main Problem - we have only one Fontsize we can change - it seems that it is not enough.

System Information

current git (kwin, xfwm4, openbox behave similar fugly)

Root password request when changing screen brightness

Hello. Root password is requested while changing the screen brightness. Is this a problem with my system or is this the expected behavior? If this is the expected behavior, why is it necessary? Will the normal user not be able to change the screen brightness without root permission?
Lxqt version: 0.16
Qt version: 5.15.1
Kernel: 5.9.10

Feature: Apply saved configuration by script?

Hello,

is there a way that i could apply a saved config by a script?

My use case is this: I have a notebook and at the docking station
is a second monitor attached. If i dock the notebook i would like
to call set two-monitor-setup which i have already configured and saved.
When i undock it should then switch to single-monitor-stetting.

Actually i must open the config by hand, select the saved setting and hit apply.

Is there a way i could automate it?
As example on the command line:

monitor-settings apply "Two-Monitors"

Thank you.
me23

lxqt (non)working issues

Can't find any other obvious place to point out these problems w/'lubuntu 18.10 lxqt', so I'll try to make them known here.
Problem 1) Everytime one double clicks on a desktop included icon, there appears
an popup mandating a user selection 'open' 'execute' or 'cancel' dialog
and there does not appear to be an obvious way to have such a 'feature'
turned off!?
Problem 2) Any time the PCManFM-QT File Manager is used during the course of
moving or copying an original file to a preexisting destination file,
one is presented with a 'File exists' error, and the operation will
not be executed.
Problem 3) When a user selects a 'rename' label via a right click on a desktop
icon, and actually enters a new display 'label name', the associated
desktop icon disappears.
Problem 4) There is no obvious way a user can associate a new icon with a desktop application
via the ~/Desktop/appname.desktop mechanism.

All of the issues pointed out here, should not be in effect, unless a user selects such 'timid' settings at installation time! If 'Windoze' operations are to be put into effect, then put such a mandate in at installation time. It is unreasonable for the rest of the user world to have no way to change the default working behavior, from those being targeted as 12 year old users; therefore! When I double click on a directory homed icon, I don't want to have to answer such a stupid question each time! Make such non-sense an opt-in feature! And, There should be a tree centric directive, so that the PCManFM-Qt view is thereby set to be the default view, for the specified directory, and every other directory for which it is an antecedent! These noted issue are all giant pains in the ass for actual grown up working users!
Hoping for correlational changes. Cheers
odoncaoa

[lxqt-config-locale] why duplicate settings?

Given that lxqt-config-locale is not DE-independent, and all language variables are known, I fail to see the need of separate $XDG_CONFIG_HOME/lxqt/lxqt-config-locale.conf

Just look in session.conf for locale-related vars directly, and ditch separate lxqt-config-locale.conf.

Crash when opening Monitor Settings

From journalctl -fxe when clicking the Monitor settings icon in the configuration center.

Jan 03 16:36:35 v0r-blade systemd-coredump[28939]: Process 28934 (lxqt-config-mon) of user 1000 dumped core.

                                                   Stack trace of thread 28934:
                                                   #0  0x00007ff1ace0a41b _ZNK7KScreen6Config5cloneEv (libKF5Screen.so.6)
                                                   #1  0x000000000040df90 n/a (lxqt-config-monitor)
                                                   #2  0x00007ff1abdb11a7 _ZN11QMetaObject8activateEP7QObjectiiPPv (libQt5Core.so.5)
                                                   #3  0x00007ff1ace2213f _ZN7KScreen15ConfigOperation8finishedEPS0_ (libKF5Screen.so.6)
                                                   #4  0x00007ff1ace0c5f8 n/a (libKF5Screen.so.6)
                                                   #5  0x00007ff1abdb21e1 _ZN7QObject5eventEP6QEvent (libQt5Core.so.5)
                                                   #6  0x00007ff1ac6759ac _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5)
                                                   #7  0x00007ff1ac67ae86 _ZN12QApplication6notifyEP7QObjectP6QEvent (libQt5Widgets.so.5)
                                                   #8  0x00007ff1abd82bab _ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent (libQt5Core.so.5)
                                                   #9  0x00007ff1abd84fa6 _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData (libQt5Core.so.5)
                                                   #10 0x00007ff1abdd9143 n/a (libQt5Core.so.5)
                                                   #11 0x00007ff1aa2eddc7 g_main_context_dispatch (libglib-2.0.so.0)
                                                   #12 0x00007ff1aa2ee020 n/a (libglib-2.0.so.0)
                                                   #13 0x00007ff1aa2ee0cc g_main_context_iteration (libglib-2.0.so.0)
                                                   #14 0x00007ff1abdd954f _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
                                                   #15 0x00007ff1abd8057a _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
                                                   #16 0x00007ff1abd8853c _ZN16QCoreApplication4execEv (libQt5Core.so.5)
                                                   #17 0x000000000040c8ec n/a (lxqt-config-monitor)
                                                   #18 0x00007ff1ab3f6610 __libc_start_main (libc.so.6)
                                                   #19 0x000000000040c9b9 _start (lxqt-config-monitor)

                                                   Stack trace of thread 28935:
                                                   #0  0x00007ff1ab4b618d poll (libc.so.6)
                                                   #1  0x00007ff1a832bae2 n/a (libxcb.so.1)
                                                   #2  0x00007ff1a832d757 xcb_wait_for_event (libxcb.so.1)
                                                   #3  0x00007ff1a2156379 n/a (libQt5XcbQpa.so.5)
                                                   #4  0x00007ff1abba1b8e n/a (libQt5Core.so.5)
                                                   #5  0x00007ff1aa80b4a4 start_thread (libpthread.so.0)
                                                   #6  0x00007ff1ab4bf13d __clone (libc.so.6)
-- Subject: Process 28934 (lxqt-config-mon) dumped core
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- Documentation: man:core(5)
-- 
-- Process 28934 (lxqt-config-mon) crashed and dumped core.
-- 
-- This usually indicates a programming error in the crashing program and
-- should be reported to its vendor as a bug.
Jan 03 16:36:35 v0r-blade dbus-daemon[7941]: Activated service 'org.kde.KScreen' failed: Process org.kde.KScreen received signal 6

Running this on a system with an intel backlight device (not acpi), not quite sure if that has something to do with it.

lxqt-config-input (v0.16.0) > Mouse and Touchpad > Acceleration speed > Unsupported data type QVariant::float

Expected Behavior

The acceleration speed should be set properly and kept to what the user is setting it to.

Current Behavior

When setting a value for the acceleration, (and when the program is started from the CLI), there is the message Unsupported data type QVariant::float, and the value is reset to zero.

Possible Solution

Perhaps there is a type conversion issue, I don't know.
Having said that, when the config is set manually with xinput it is displayed correctly on lxqt-config-input.

Steps to Reproduce (for bugs)
  1. Open lxqt-config-input in the CLI.
  2. Click on Mouse and Touchpad.
  3. Set a value for Acceleration speed, e.g. 0.6.
  4. Press the Apply button.
  5. Unsupported data type QVariant::float appears in the console (in the background), and the acceleration speed has been set to zero, yet the displayed acceleration is the correct one.

When closing and opening the config again the value displayed is 0.00.

Context

After the last update (v0.16.0) the trackpad speed was terribly slow and trying to set it to a higher value wouldn't work.
I am setting it manually from the CLI with xinput --set-prop 'SynPS/2 Synaptics TouchPad' 'libinput Accel Speed' 0.5

System Information
  • Distribution & Version: ArchLinux
  • Kernel: 5.9.6-arch1-1 #1 SMP PREEMPT x86_64 GNU/Linux
  • Qt Version: 0.16.0
  • liblxqt Version: 0.16.0
  • lxqt-build-tools Version: 0.8.0
  • Package version: 0.16.0-1

The whole ouput on my console when running lxqt-config-input is:

$ lxqt-config-input
add "gb" ""
Detected "SynPS/2 Synaptics TouchPad" on "/dev/input/event11"
xinput driver: "libinput"
Detected "TPPS/2 IBM TrackPoint" on "/dev/input/event12"
xinput driver: "libinput"
Unsupported data type QVariant::float

Thanks guys!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.