Age | Commit message (Collapse) | Author |
|
|
|
The icon looked differently on systems without the correct font for the
L letter. Converting the L into a path with Inkscape solved that issue.
|
|
This will be needed for a GUI.
|
|
This was not possible because gui.c did not reset the socket
filedescriptor to the default value.
|
|
|
|
It used to be assumed that the user sets the LIMOX_USER and LIMOX_PWD
shell variables but there was no error checking if this was not the
case.
This commit adds the check preventing a crash of the whole program.
Furthermore an error message is printed to the terminal.
|
|
This is just internally used and thus has no benefit.
|
|
This explains better what this function is about.
|
|
|
|
|
|
|
|
|
|
Using Markdown features (as URLs) is even more useful if you actually
render this somewhere. PDF is now done and HTML might follow.
|
|
Roadmap content should not spam the README
|
|
This adds the option to close the XMPP connection.
|
|
With this commit the client starts the connection to the server as soon
as the user clicks into the application window. Disconnect or reading /
writing to the stream is not implemented.
|
|
Sadly there is no way to stop LimoX after connection. This has to be
fixed by a commit implementing a better control flow between GUI and
network part of the program.
|
|
This starts the XML stream via the XMPP connection.
|
|
This commit adds the functionality to actually connect to port 5222
(xmpp-client) of a XMPP server! This was tested using prosody and
verified via its systemd journal log entries.
|
|
The socket is needed for the TCP connection to the XMPP server.
|
|
The DNS resolution implemented with this commit uses getaddrinfo() from
the standard library to get an IPv4 address for the domainpart of the
user-given Jabber ID (JID).
This is by far not the process described in [RFC 6120][1]. This XMPP
core standard prefers SRV entry lookups. Taking A records like in this
implementation is referenced as "fallback process".
Furthermore this implementation just takes the first A record it finds
which could also be improved. It could for example be that IPv4 is
blocked in the referenced network and a AAAA IPv6 record is given and
functional. In this case this implementation would needlessly fail to connect.
[1]: https://www.rfc-editor.org/rfc/rfc6120
|
|
This should make the license more visible and prevent wrong usage.
|
|
|
|
|
|
|
|
This should make clear that something went wrong if a test failed.
|
|
LimoX aswell as the tests should be build automatically without altering
the Makefile.
|
|
|
|
This should kick off the infrastructure for unit tests. This can still
be improved but getting started is important to make it easier to add
unit tests and thus improving the quality.
|
|
A Makefile is enough for this project because it has a very simpel
structure. The additional complexity of meson is not necessary and
furthermore I am more used to Makefiles.
|
|
This removes xmpp_connect() from the main loop and delegates the calling
to the GUI. This should be the case in the future.
|
|
This should be the long-term default and should be addressed in an early
phase of development to implement the GUI with a resizable window in
mind.
|
|
This is not by far complete DNS handling but demonstrates that name
resolution works by printing the IP address type (IPv4 or IPv6) for each
found IP address.
|
|
The now legacy version of LimoX with GTK4 and libstrophe is now not part
of the main branch anymore. There might be a legacy branch keeping this
version at the time of reading.
This cut of implemented functionality is motivated by these reasons:
- Implementing XMPP is fun, educative and gives full control.
- Low level graphics with SDL2 is portable, fast, educative an mature.
- I do not have to use GLib and a crazy event loop anymore (run and hide)
|
|
This is a good resource for network programming in C on Linux. Helps a
lot for further development.
|
|
It is mandatory to have an IP address to dial a TCP connection. FOr this
purpose the JID which is given by the user has to be converted into a
FQDN and then translated to an IP via DNS.
The function added with this commit implements this first part. The
extraction of the domain (more precisely the FQDN) from the JID.
|
|
|
|
It is currently evaluated if it is worth a trial to drop libstrophe as a
dependency and use a raw TCP connection and a XML library like expat to
implement the XMPP part. This would have the following advantages:
- fewer dependencies
- learning more about XMPP itself and less about libstrophe
- slower, but maybe easier implementation (XMPP doc is far more readable
/ extensive)
Because of these reasons the `limox_sdl2` version was switched to a
dummy XMPP implementation `xmpp.c` which acts now as a test field for
XMPP hacking.
|
|
This was for an old SDL (version 1) executable. This one is not needed
anymore because the SDL2 version now runs on X11 and Wayland.
|
|
|
|
Just `meson build` is deprecated and replaced by `meson setup build`.
|
|
|
|
|
|
SDL2 version now runs also on Wayland. No need for SDL to exist.
|
|
|
|
See this post: https://github.com/libsdl-org/SDL/issues/6074
It seems like SDL2 does not show an empty window on Wayland systems
if there is nothing drawn on this. Thus this commit adds an empty white
pixel buffer.
|
|
|
|
|
|
There seems to be a bug in SDL2. Window creation is successful under
Wayland (window pointer not NULL) but there is no window visible. Tested
with Sway and Weston. The same implementation works fine under Cinnamon
with X11.
|
|
|