KCGroups in KDEreview

2020-11-20 Thread Henri Chain
Hello everyone,

KCgroups has been moved to KDEReview !
What is that, you ask ? It's a library that wraps the systemd dbus API to 
expose a higher-level concept of desktop application and allow control of its 
system resource usage (CPU, RAM, IO, etc).

It relies on the recent ability of plasma to launch applications in their own 
systemd scopes, with correspond to cgroups and provides a more robust 
definition for an application (more details at https://lwn.net/Articles/834329/ 
) .

The main use of the library is to expose related resource control settings for 
those applications, at a user space level that other KDE applications and 
frameworks can use, including consumption straight from QML as demonstrated in 
the test application.

KCgroups is intended to become a (Tier 1) framework. A first user of this 
library might be the foreground window CPU booster daemon that is available 
here: https://invent.kde.org/libraries/kcgroups/-/tree/work/foreground-booster

Packages are already available for both Neon and Arch Linux.

Looking forward to your feedback and ideas for using this,
Henri




Re: NeoChat in KDEReview

2020-11-20 Thread Albert Astals Cid
El dijous, 19 de novembre de 2020, a les 23:27:24 CET, Carl Schwan va escriure:
> Hello,
> 
> Tobias and I have been working on a Matrix client using Kirigami,
> named NeoChat. NeoChat is still missing a few features to become
> a full-featured Matrix client (most notably encryption support and
> video chat support), but it is starting to be good enough for
> interacting with public rooms. It is using version 0.6 of
> libQuotient and is a fork of the (abandoned) Spectral client.
> 
> For the moment the feature supported are:
> 
> * Sending messages
> * Sending files from clipboard and filesystem
> * Reply to message (right-click on a message to access menu)
> * Start a private chat (but not encrypted)
> * Show notifications, for the moment there is only a global switch
> to disable it. We plan to implement the configuration part of the
> specification soon.
> * Auto-completion of usernames in chat
> * Emoji picker
> * Basic room setting page
> * Send and accept invitations
> * /rainbow  (very important)
> * /me 
> * And more features are contently added
> 
> We already support a nightly build for Flatpak and a quite
> experimental Android build.
> 
> The only external dependencies for NeoChat are libQuotient
> (0.6.x branch) and cmark.
> 
> Concerning the release plan, we want to release an initial
> version to ship with the Pinephone KDE edition. And once with
> are happy with the feature provided by NeoChat (e.g. encryption
> support) we plan on moving it to the release service.
> 
> We have an active Matrix room for discussion around NeoChat at
> #neochat:kde.org.
> 
> Thanks in advance for your review and helpful advice.

Nitpick (just at the beginning because it's the first thing i faced when trying 
to compile): It would be nicer if you would use the feature_summary better, 
i.e. don't mark things required in the find_package level but on the 
set_package_properties level. so i get a nice summary with all the things i'm 
missing the first time i try instead of having to run cmake N times until i 
install everything.

I tried to login to https://webchat.kde.org (which doesn't seem to be the 
correct url i have to use i guess) and i got "no feedback at all" that things 
were failing. I can even press the Login more times in what seems to be 
spawning more connection attempts. I've since learnt that 
https://kde.modular.im is the correct url to use. 

I tried to login to https://matrix.org and then got a notification that 
something was wrong (i was using kde's server credentials) but the notification 
went away before i could read it. Seems not a very nice UI to hide important 
error messages before i can read them.

If i use "https://kde.modular.im " (<- notice the space at the end) as server 
to connect to, nothing happens, no error, no nothing, either automatically 
remove trailing spaces or at least tell me "you stupid user fix your url"

The chat window uses the wrong background colors, gray is not the background 
color my theme uses for text areas, it's white.

"Room setting" in the sidebar should be "Room settings"?

If i'm in a channel and press settings, then accounts, then explore rooms, it 
think it makes no sense UI wise that the top bar < doesn't bring me directly to 
the channel and instead has me go to accounts and settings first.

If i'm in about neochat, i don't think the top bar should still have the "open 
this channel sidebar" on top right, i'm not really on a channel right now.

Speaking about that "open this channel sidebar" on top right, it could really 
use a tooltip, the icon is not really that obvious the first time you click it 
it's like hoping it's not the kill everyone button :)

I am not sure how i did it (i think i was loging in and login out again) but i 
ended up with two panels https://i.imgur.com/2ot4ROY.png

The first time you login, the chat sorting is all weird, see 
https://i.imgur.com/2ot4ROY.png (ignore the right panel), there groups, then 
direct messages, then groups again on the left panel

There seems to be some issue with text wrapping, see how 
https://i.imgur.com/2NsTx3X.png gets turns into https://i.imgur.com/TePoCAx.png 
(the black on the right is the window behind neochat)

In the room settings having Save not be at the end of the layout is weird

In the room settings, what's Canonical Alias, i have an empty non editable 
combobox, what am i supposed to do with it?

The room settings title label escapes it's "window" see 
https://i.imgur.com/1SZmOiK.png

You're leaking m_settings in EmojiModel, i'd suggest just turning it into a 
QSettings instead of a QSettings *

Cheers,
  Albert

> 
> Carl and Tobias
> 






Re: KCGroups in KDEreview

2020-11-20 Thread Albert Astals Cid
El divendres, 20 de novembre de 2020, a les 14:55:16 CET, Henri Chain va 
escriure:
> Hello everyone,
> 
> KCgroups has been moved to KDEReview !
> What is that, you ask ? It's a library that wraps the systemd dbus API to 
> expose a higher-level concept of desktop application and allow control of its 
> system resource usage (CPU, RAM, IO, etc).
> 
> It relies on the recent ability of plasma to launch applications in their own 
> systemd scopes, with correspond to cgroups and provides a more robust 
> definition for an application (more details at 
> https://lwn.net/Articles/834329/ 
> ) .
> 
> The main use of the library is to expose related resource control settings 
> for 
> those applications, at a user space level that other KDE applications and 
> frameworks can use, including consumption straight from QML as demonstrated 
> in 
> the test application.
> 
> KCgroups is intended to become a (Tier 1) framework. A first user of this 
> library might be the foreground window CPU booster daemon that is available 
> here: https://invent.kde.org/libraries/kcgroups/-/tree/work/foreground-booster
> 
> Packages are already available for both Neon and Arch Linux.
> 
> Looking forward to your feedback and ideas for using this,

I'm a bit scared about your optional class being there all in the main 
namespace. I'd suggest putting in some "namespace kcgroups{}" or name it 
kcgoptional or something.

you have a few properties without NOTIFY, ideally you should either add it if 
they can change or mark them as CONSTANT if they can't.

Cheers,
  Albert


> Henri
> 
> 
>