Re: [Lazarus] Asteroids in Pascal

2021-11-21 Thread Евгений Кадисов via lazarus
Hi.
My operating system is kubuntu 21.04. How can I execute system commands
from my graphical lazarus program?

вс, 21 нояб. 2021 г. в 14:18, Graeme Geldenhuys via lazarus <
lazarus@lists.lazarus-ide.org>:

> On 2021-11-09 6:32 p.m., Anthony Walter via lazarus wrote:
> > I've included a copy of the entire game logic code. Check it out here:
>
> Such a cool game. :-D Thank you for sharing.
>
> Regards,
>Graeme
>
> --
> ___
> lazarus mailing list
> lazarus@lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus
>
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


[Lazarus] Where do I get the Lazarus sources on the release tag?

2021-11-21 Thread Bo Berglund via lazarus
I have a script to install Lazarus and FPC on Linux which exports the sources
from the subversion repositories on the release tags.
I use this when installing FPC/Lazarus on Raspberry Pi and other Linux devices.

But that does not work anymore because of the move to gitlab:

From an earlier post on this list:

> In order to lower maintenance of their own infrastructure, a hosted solution
> has been chosen, and an open source license was granted to the teams.
> 
> You can see the current progress at:
> 
> https://gitlab.com/freepascal.org
> 
> 2 subgroups have been made:
> 
> https://gitlab.com/freepascal.org/fpc
> https://gitlab.com/freepascal.org/lazarus-ide

Unfortunately I failed to find the release tags on these URL:s, so I could check
out (or rather export) the sources for Lazarus and Fpc.

The closest I have come for Lazarus is here:
https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags

But if I try something like
svn export https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags/main-2_3 2.3
it fails with an error:

E160013: '/freepascal.org/lazarus/lazarus/-/tags/main-2_3' path not found

I have read this too, to no avail:
https://wiki.lazarus.freepascal.org/Getting_Lazarus#Getting_Lazarus_from_the_GitLab_server

I want to retrieve the sources of a specific release tagged version, not some
bleeding edge fixes work in progress version.

Can someone please tell me where the *release tagged* versions are hidden?
Surely there must be a git URL one can use with svn to get a specific tagged
source release?

And I do not want to clone the complete Lazarus repository...
I have not used GIT ever, but Subversion for many years.


-- 
Bo Berglund
Developer in Sweden

-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Mehmet Erol Sanliturk via lazarus
On Sun, Nov 21, 2021 at 10:55 PM Bo Berglund via lazarus <
lazarus@lists.lazarus-ide.org> wrote:

> On Sun, 21 Nov 2021 14:51:44 +0300, Mehmet Erol Sanliturk via lazarus
>  wrote:
>
> >In this thread there is a point which is not clear for me :
> >
> >Compile
> >
> >(1)   programs in SERVER by using Lazarus installed in SERVER
> >(2)   programs in SERVER by using Lazarus installed in WORKSTATIONS
>
> I mean:
> Compile programs on the server (Lazarus running on the server) for use on
> any
> Linux machine based on The PC architecture (AMD/Intel CPU).
>




I have read all of the messages in this thread starting from your initial
email once more .

When you compile a program , it is possible to execute it another Windows
machine by assuming
that the next Windows version is able to execute the program .

In the Linux ( or Unix ) world , this is NOT the case : Each Linux version
of each Linux distribution has its OWN
library versions : There is NOT any standard library usage plan among the
Linux versions or Linux distributions .
Therefore , it is very likely ( with respect to me : exactly ) that you
will NOT be able to run your program in arbitrary Linux
distributions  IF YOU USE DYNAMICALLY LOADED LIBRARIES . I do not know the
situation when you use statically
linked libraries . it is  always not possible to use static linking because
each library does NOT have static libraries .
When there is not a static library , you need to compile the respective
sources to obtain a static library
WITH A  SERIOUS CONSIDERATION OF  STATIC LINKING POSSIBILITY  BY STUDYING
ITS LICENSE VERY CAREFULLY .



I can explain the situation with an example .

I have a Fedora Linux computer having a large number of repositories
stored  in a different disk from the Fedora 28 installed disk .
During a country-wise electric fluctuation my Fedora 28 disk has been
broken . I have installed Fedora 25 . Now ALL of the programs
are NOT executable because of dynamically loaded ( *.so ) libraries by
giving an error message about  *.so library mismatch .
I will install Fedora 35 . This will also require recompilation of ALL of
the repositories one by one .


Therefore , my opinion is your plan WILL NOT work if you use *.so libraries
, and try them to execute in different Linux computers
with different *.so files . You may think that  ALL of the  *.so files of
the libraries ARE the SAME :NO !
In your executable , the  EXACT   library version is recorded . During
execution of the program , the *.so file is NOT loaded , but
its EXACT matching name is searched : If it is NOT found , it is giving a
message saying that  the required   exact *.so file is not found :
*.so file with exact version number : for example : *.so.5.4.3 .


You need to check the static linking case whether it is possible to
execute your program in different  Linux ( versions , distributions ) .
I do not know the situation based on experiments because  in my NFS server
, all of the clients have the same Fedora version .

Version of the NFS server may be different from the client versions (
assume NFS versions are the same or compatible ) .
In the NFS server , there are the following directories alongside the
source directories :
Executables_for_FreeBSD
Executables_for_Linux

Previously , also

Executables_for_Windows_XP
Executables_for_Windows_7

I could NOT be able to connect to Windows_7 . Due to this I have removed
WIndows  directories and I have discontinued
use of Windows .

>From any client I am compiling ( Lazarus is installed in the client , BUT
you can install Lazarus in the server   IF YOUR VERSIONS OF
CLIENTS and SERVER ARE THE SAME in LINUX  if you use *.so libraries and use
it from the clients . If you use static linking , please check the result .
Do not forget that you will not be able to install Lazarus for FreeBSD in
server because it is Linux ( or different from the client )  )
programs by storing its executables into respective Linux or FreeBSD
directory and execute the programs in any client from its respective
directory .


As a result , my idea about your setup is : It requires adjusting
parameters of the components to obtain a consistent work
environment  with respect to your needs and availability of your tools  .


If you want to sell your program(s) to Linux user customers :  My
suggestion would be ( you may think a much more suitable method ,
or some other experts may suggest other ways ) :

Ask  them to learn their Linux distribution and its version and hardware
kind .
On a similar hardware and Linux distribution and version , install Lazarus
, compile your program(s) from your source repository
and supply your program(s) to your customer .


Mehmet Erol Sanliturk






> >other than use of cross compilation .
>
> I have never ever managed to set up a dev environment that could
> cross-compile,
> so I have to keep at least 3 different dev environments:
>
> - Linux on Raspberry Pi (ARM)
> - Linux on PC platform (AMD/Intel CPU)
> - W

Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Bo Berglund via lazarus
On Sun, 21 Nov 2021 14:51:44 +0300, Mehmet Erol Sanliturk via lazarus
 wrote:

>In this thread there is a point which is not clear for me :
>
>Compile
>
>(1)   programs in SERVER by using Lazarus installed in SERVER
>(2)   programs in SERVER by using Lazarus installed in WORKSTATIONS

I mean:
Compile programs on the server (Lazarus running on the server) for use on any
Linux machine based on The PC architecture (AMD/Intel CPU).

>other than use of cross compilation .

I have never ever managed to set up a dev environment that could cross-compile,
so I have to keep at least 3 different dev environments:

- Linux on Raspberry Pi (ARM)
- Linux on PC platform (AMD/Intel CPU)
- Windows on PC (AMD/Intel CPU)

By compiling on the target "metal" I am sure the programs will run properly...

And for Linux I access the computers via VNC when I work. So I use my Windows 10
box as the work environment always.


-- 
Bo Berglund
Developer in Sweden

-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] triggered by the frontend / Representation of an "watch" [[was: Re: Playing with debuggers]]

2021-11-21 Thread Martin Frb via lazarus

On 21/11/2021 17:23, Martin Frb via lazarus wrote:


- Watches are stored in a list.
That is needed by the frontend. Because the History wants to know 
about the watches.

However, this may not be needed by the backend. That can be reviewed.

Actually, there only is a list for the frontend.

It is currently part of the DbgIntf. But it should not be. And should be 
easily fixable.


The backend site has (through a forward handler) access to it.
The only use that is made of it, is to invalidate all watch values, if 
they changed (actually this is only used, if the user modified a watch).


The debugger should in that case send an event (or call an abstract 
method in the base class). This can then clear the values.


And the entire TWatches list can move up, into the current frontend.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


[Lazarus] triggered by the frontend / Representation of an "watch" [[was: Re: Playing with debuggers]]

2021-11-21 Thread Martin Frb via lazarus

1) Events to be more frontend centric.
2) Actions (eval watch) to be triggered by the frontend
3) Representation of an "watch"  (Should methods be on the Watch 
object, or the Debugger object)


=> 2) Actions (eval watch) to be triggered by the frontend

The evaluation of a watch is triggered when the frontend attempts to 
access it. The backend then gets a call to

 TWatchesSupplier.InternalRequestData(AWatchValue: TWatchValue)
for that one watch.

For all I can see neither gdb, nor Fp backends will evaluate any watch, 
unless the frontend asks.



=> 3) Representation of an "watch"  (Should methods be on the Watch 
object, or the Debugger object)


You introduced a new method to get a watch value.
  Debugger.EvaluateExpression(S, Debugger.GetCurrentFrameID, 
FLatestRef, @EvaluateCallback)


and then in the callback the data is in an object: 
TLazDebugExtensionVariable
TLazDebugExtensionVariable has a reference, where the debugger can store 
any data it wants: integer or object



I am trying to see, what advantage this should bring over the current 
system:


* TIdeWatch / TCurrentWatch
  => those can nicely store all the data a frontend needs to store with 
the watch (any options the user did chose).
  => this also stores (as TWatchValue) the result returned from the 
debugger.

  => Each frontend can subclass it as it wants.
* The frontend decides when it wants the data. The backend then receives 
a single call for this/each watch.
* The backend then send a notification for the frontend, when the data 
is there.


Same flow? Main difference is that the methods to invoke the evaluation 
are on the TWatch.


--
So far so good.
- The TWatch class is currently quite big. It might benefit from some 
cut down, but that is not related to any of the things you implemented.


- An advantage is, that a watch eval can be aborted.
  Your concept is to discard unwanted results, but the backend still 
spends time on evaluating it. Of course you could add

 dbg.AbortEval(reference);
  In the end, I prefer to encapsulate this into the TWatch.

- Watches are stored in a list.
That is needed by the frontend. Because the History wants to know about 
the watches.

However, this may not be needed by the backend. That can be reviewed.

--
Collapsing / Expanding

Currently watches can only be added by the frontend. That may need to be 
changed.
Each watch needs a way to ask the debugger for the TWatchValue data of 
its children.

=> For that the Watch could call the backend
  dbg.GetChildren(self);
=>  The backend would then for each child call
  watch.GetChildWatch
and the backend would put the data in.

Something like that.

As for the TWatches list:
The watch window would know, which watches are visible (expanded) and 
evaluate them.
For the history, each watch could have a "parent" and/or 
"CurrentVisible" field. Or the watch has an "Owner" (the window), which 
can be asked.



On 14/09/2021 16:11, Joost van der Sluis via lazarus wrote:
The big advantage of the tree-view, is that you do not evaluate 
sub-watches, only when they have to be shown. So only those fields 
that need to be shown have to be evaluated by gdb. (It also solves the 
endless loop you sometimes have)
Well at latest when the debugger is idle, evaluation of watches "not 
scrolled in" should start.

So when the user starts scrolling, values can be shown immediately.






-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


[Lazarus] Events to be more frontend centric [[was: Re: Playing with debuggers]]

2021-11-21 Thread Martin Frb via lazarus

1) Events to be more frontend centric.
2) Actions (eval watch) to be triggered by the frontend
3) Representation of an "watch"  (Should methods be on the Watch 
object, or the Debugger object)


=> 1) Events to be more frontend centric.

The current events and especially states are certainly in need of clean up.

I would not say that they are all backend centric.
States like: dsRun, dsPause, dsStop  are very valid and meaningful for 
the frontends too.


On the other hand states like
- dsDestroying is backend only, and should not be exposed.
- dsInit, dsInternalPause are not well defined at all.


Looking at your code, I do not agree with your new states.

  TLazExtEvaluationState = (
    esNone,  // No debugger available
    esEvaluationImpossible,  // Evaluation of variables is impossible 
(Maybe because there is nu debugee? (stopped))
    esEvaluationPaused,  // Evaluation of variables is temporarily 
disabled (Maybe because debugee is running?)
    esEvaluationPossible // Evaluation of variables is possible 
(Debugee is probably paused)

  );


1 - First of all,
The above are either
a- not enough
b- to many

a) There may be different extends of evaluation in the frontend. So more 
info than the above few states is needed.
=> Of course, the states may be sufficient, as further info could be 
maintained within the frontend.
* I quite often use breakpoints, that do not "break" (continue 
automatically), but take a history snapshot.
Currently when this happens the watch/stack/.. windows actually do 
update (and that is a workaround to missing options).

But ideally they should not. Only the history-snapshot should run.
* Or while viewing history => one can get existing values, but not 
evaluate new ones.


b) On the other hand, why differ between Paused and Impossible? They 
both mean "can't eval".
Your frontend may differ between the 2 reasons behind them. But other 
Frontends, relay on other factors.


After writing all the below, I realized that (probably) your frontend 
uses the 2 states to decide, if there should be a timeout before 
clearing the values?
But that is very specific to your frontend (well most frontends probably 
would benefit). But then this is just a duplication of the existing and 
further needed dsStop.


See idea on "CurrentCapacities" below.


2 - Second,
they already exist:
   WatchValue.Validity => ddsUnknown, ddsRequested, ddsEvaluating,  
ddsValid, ddsInvalid, ddsError

Though they are only set, once a value gets requested.
(Asking upfront, may be an idea, but one only need "function CanEval: 
boolean". / See idea on "CurrentCapacities" below.)


This falls partly under the topic (3) representation => should the state 
come via the watch or the debugger.


And then, if history is shown, there is no point of calling a function 
on the debugger. There is no data to be computed by the debugger.



3 - Third
Also, while your argument for a frontend-needs driven event system is 
compiling, we need to keep in mind, that the frontend (or plural 
frontends) may change/differ how they want to react to different backend 
states.
The backends can not actually know this. So the frontend still needs 
(most of) the DebuggerStates (dsPause, dsRun, dsStopped)


Yet, as mentioned above, (sub)states may need to be added for different 
"pause reasons".
This may be something (some/all) frontends can do on their own. But some 
may also belong into the backend. (Maybe such as, that the backend is 
going to continue the run/step)


If a breakpoint has "no break" or "auto-continue" (the latter differs 
from the first), then parts of the frontend may need to know.
This can to some extend be managed in the frontend itself, by examining 
the current breakpoint(s) [1].
But it can't be entirely taken from the backend, because if the backends 
state is "mid single step", then the frontend can not sent a "step over".
If maintaining some of the state info is moved to the frontend, this 
must avoid duplicating info that is bound to the backend. (to avoid them 
becoming out of sync).


[1] Btw, off topic, there may be more than one breakpoint on the same 
address, so there needs to be a list of breakpoints hit...



===> Going forward

It might be best to look at an actual list of new states and events.

- What do different parts of the frontend need to react to (events)?
  And can/should the backend(s) know about each of those "causes".

- What states are important, from a frontend/users view.
- What mapping, between abilities and state do we need, and where to 
compute them.



For example the debugger already has
    function  GetCommands: TDBGCommands; virtual; // property Commands
And this returns what is currently possible
    if dcEvaluate in Commands then {watches can be evaluated}
- Except, that may be returning wrong for dsInternalPause => so there is 
some fixing needed.

- The naming is bad, because its more than just commands. Maybe should be:
   ~ dcEvaluate in Current

Re: [Lazarus] Playing with debuggers

2021-11-21 Thread Martin Frb via lazarus

On 14/09/2021 01:00, Joost van der Sluis via lazarus wrote:
I've created a new Lazarus-debugger LazDabDebugger that can work with 
FpdServer. It depends on a package (LazDebugExtensionIntf) that adds 
another way of showing debugging variables inside Lazarus.
I can write tons of texts about the background and possibilities. But 
for now I'm just curious at your input.


Ok, lets try to pick up on where we were.  / Going through the thread, 
picking out previous comments.


The main points seem to be:

1) Events to be more frontend centric.
2) Actions (eval watch) to be triggered by the frontend
3) Representation of an "watch"  (Should methods be on the Watch object, 
or the Debugger object)


I think, I will write individual mails on each of them.


--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Juha Manninen via lazarus
On Sun, Nov 21, 2021 at 1:06 PM Kostas Michalopoulos via lazarus <
lazarus@lists.lazarus-ide.org> wrote:

> On 11/21/21 11:45, Juha Manninen via lazarus wrote:
> > LCL-QT5 works better than LCL-GTK2 now IMO.
>
> What are the issues on Gtk2 that are fixed in Qt5?
>

Different LCL bindings have their own bugs, and so do the underlying
libraries GTK2, QT5 etc.
LCL-QT5 and LCL-GTK2 both have bugs but LCL-QT5 has less of them. The
underlying QT5 is also less buggy than the old GTK2.

I agree with Michael. You need GTK2 development libraries initially when
building Lazarus from sources with "make".
LCL-QT5 bindings require the libQT5Pas (IIRC) which must be installed
manually in some systems. Manjaro + KDE has it nicely as a dependency.
Once you have them both installed you can freely select your favorite
widgetset.

Juha
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Mehmet Erol Sanliturk via lazarus
I agree with you.

On Sun, Nov 21, 2021 at 3:01 PM Michael Van Canneyt 
wrote:

>
>
> On Sun, 21 Nov 2021, Mehmet Erol Sanliturk wrote:
>
> > If you please study TrueNAS , you will see that it is possible to manage
> a
> > server with a
> >
> > "Web-based graphical user interface
> >  with optional
> SSL
> > encryption"
> >
> > from your computer using a GUI desktop connected to the server in your
> > local network .
> >
> > I do not know Ubuntu server in detail but there should be such features .
> >
> > This means that you do not need to convert your server to a gui desktop
> > using state but to select a suitable web based management system
> > and install it ( or them )  to manage your server from your workstation .
>
> OP wants to run Lazarus on his server. So he needs to install a desktop
> environment, because lazarus needs a GUI.
>
> It is possible to run lazbuild on a server without gui, if it is just used
> to compile.
> But from whay I understood, the OP wants to actually run Lazarus in a
> remote X session.
>
> In that case a WEB gui is not useful.
>
> Michael.
>
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Michael Van Canneyt via lazarus



On Sun, 21 Nov 2021, Mehmet Erol Sanliturk wrote:


If you please study TrueNAS , you will see that it is possible to manage a
server with a

"Web-based graphical user interface
 with optional SSL
encryption"

from your computer using a GUI desktop connected to the server in your
local network .

I do not know Ubuntu server in detail but there should be such features .

This means that you do not need to convert your server to a gui desktop
using state but to select a suitable web based management system
and install it ( or them )  to manage your server from your workstation .


OP wants to run Lazarus on his server. So he needs to install a desktop
environment, because lazarus needs a GUI.

It is possible to run lazbuild on a server without gui, if it is just used to 
compile.
But from whay I understood, the OP wants to actually run Lazarus in a remote X 
session.

In that case a WEB gui is not useful.

Michael.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Mehmet Erol Sanliturk via lazarus
In this thread there is a point which is not clear for me :

Compile

(1)   programs in SERVER by using Lazarus installed in SERVER
(2)   programs in SERVER by using Lazarus installed in WORKSTATIONS

These are different approaches for the development and use of programs .
Therefore these require different steps to accomplish the goals .
If the workstations are different as structure ( amd , arm , ... , or
FreeBSD , Linux , Windows , ... ) then in a server with a SINGLE structure
such as amd or arm , I can not say what we can do in a useful way for the
development of programs other than use of cross compilation .

Mehmet Erol Sanliturk




On Sun, Nov 21, 2021 at 2:28 PM Michael Van Canneyt via lazarus <
lazarus@lists.lazarus-ide.org> wrote:

>
>
> On Sun, 21 Nov 2021, Juha Manninen via lazarus wrote:
>
> > On Sun, Nov 21, 2021 at 10:33 AM Michael Van Canneyt via lazarus <
> > lazarus@lists.lazarus-ide.org> wrote:
> >
> >> You can install KDE, but then installing Lazarus will most likely add
> the
> >> GTK libraries as a dependency.
> >>
> >
> > With KDE I recommend Lazarus with LCL-QT5 bindings.
> > KDE itself is based on QT5.
> > LCL-QT5 works better than LCL-GTK2 now IMO.
>
> I am not commenting on the relative merits/stability of the widgetsets,
> but if OP will install using the system package manager, then the gtk
> version of Lazarus is most likely what will be installed on an ubuntu
> based system.
>
> Keeping that in mind, I'm simply recommending to follow the path of least
> resistance.
>
> Michael.
> --
> ___
> lazarus mailing list
> lazarus@lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus
>
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Mehmet Erol Sanliturk via lazarus
If you please study TrueNAS , you will see that it is possible to manage a
server with a

"Web-based graphical user interface
 with optional SSL
encryption"

from your computer using a GUI desktop connected to the server in your
local network .

I do not know Ubuntu server in detail but there should be such features .

This means that you do not need to convert your server to a gui desktop
using state but to select a suitable web based management system
and install it ( or them )  to manage your server from your workstation .


Mehmet Erol Sanliturk







On Sun, Nov 21, 2021 at 11:33 AM Michael Van Canneyt via lazarus <
lazarus@lists.lazarus-ide.org> wrote:

>
>
> On Sun, 21 Nov 2021, Bo Berglund via lazarus wrote:
>
> > On Sun, 21 Nov 2021 02:53:35 +0300, Mehmet Erol Sanliturk via lazarus
> >  wrote:
> >
> >> It is possible to use  KUbuntu ( KDE with Ubuntu ) . My choice is Fedora
> >> because I find it more easily usable and with respect to their *.rpm
> >> repository quality .
> >
> > Thanks,
> > but my server is *already* installed and running (using Ubuntu Server
> 20.04.3)
> > and I am only wanting to *add* a light-weight desktop environment to be
> able to
> > use some graphics tools for administration work on the server (such as
> Gparted
> > etc).
> > And of course to use Lazarus directly on this server to build some Linux
> tools
> > etc. But it will be accessed using VNC from my Windows box.
> >
> > My question is asked from my worry that Lazarus itself will add
> dependencies on
> > the desktop environment, which do not match the target system
> environments
> >
> > So I am looking for a *desktop environment* to be installed on a server
> > currently *without* a desktop so Lazarus can be used to create apps that
> will
> > work universally on Linux.
>
> It does not matter what environment you install.
>
> The only thing that matters is that the final environment has the necessary
> libraries for the widgetset with which you compile your application.
> Currently that is by default gtk2.
>
> You can install KDE, but then installing Lazarus will most likely add the
> GTK libraries as a dependency.
>
>
> So the easiest is to install something that is GTK based, like MATE as used
> in linux mint.
>
> Michael.
> --
> ___
> lazarus mailing list
> lazarus@lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus
>
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Michael Van Canneyt via lazarus



On Sun, 21 Nov 2021, Juha Manninen via lazarus wrote:


On Sun, Nov 21, 2021 at 10:33 AM Michael Van Canneyt via lazarus <
lazarus@lists.lazarus-ide.org> wrote:


You can install KDE, but then installing Lazarus will most likely add the
GTK libraries as a dependency.



With KDE I recommend Lazarus with LCL-QT5 bindings.
KDE itself is based on QT5.
LCL-QT5 works better than LCL-GTK2 now IMO.


I am not commenting on the relative merits/stability of the widgetsets, 
but if OP will install using the system package manager, then the gtk 
version of Lazarus is most likely what will be installed on an ubuntu based system.


Keeping that in mind, I'm simply recommending to follow the path of least 
resistance.

Michael.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Asteroids in Pascal

2021-11-21 Thread Graeme Geldenhuys via lazarus

On 2021-11-09 6:32 p.m., Anthony Walter via lazarus wrote:

I've included a copy of the entire game logic code. Check it out here:


Such a cool game. :-D Thank you for sharing.

Regards,
  Graeme

--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Mehmet Erol Sanliturk via lazarus
Please do not assume that I am suggesting you change your server and waste
your efforts . My aim is to define my approach with its reasons .

If I were you I would prefer to use KDE . I am very satisfied with my use
of KDE  . When I use FreeBSD together with LInux I am using KDE also in
FreeBSD . My difficulty in FreeBSD due to KDE is the following : KDE is
completing missing parts of Linux . In FreeBSD we can say that there are no
such missing parts ( it is a complete operating system ) . Management of
additional parts in KDE is causing mismatches with FreeBSD . There I do not
see any problem . KDE is supplying to me a consistent environment between
different operating systems . Important feature of KDE is its
restartability of the previous session when the computer is shutdown . To
my knowledge , the other desktops are not supplying such a feature .
This view may be wrong because I did not try the other desktops other than
Gnome .

Up to now I did not encounter a "desktop" which is not "graphical" . The
shell in Unix ( variants such as FreeBSD , Linux or others ) are using
"shell"
.

You may search the following phrases in Google one by one :


non graphical desktops
non graphical desktop
linux desktop environments
ubuntu desktop environments
ubuntu server desktop environments
ubuntu server web GUI
ubuntu server management web interface


I think you will find a suitable solution for your works


When you study the following pages and their associated subpages , it will
be evident that there is no any non-gui desktop but
"lightweight gui desktops" :

https://en.wikipedia.org/wiki/Desktop_environment
https://en.wikipedia.org/wiki/Command-line_interface

https://en.wikipedia.org/wiki/Category:Desktop_environments



Mehmet Erol Sanliturk


On Sun, Nov 21, 2021 at 10:35 AM Bo Berglund via lazarus <
lazarus@lists.lazarus-ide.org> wrote:

> On Sun, 21 Nov 2021 02:53:35 +0300, Mehmet Erol Sanliturk via lazarus
>  wrote:
>
> >It is possible to use  KUbuntu ( KDE with Ubuntu ) . My choice is Fedora
> >because I find it more easily usable and with respect to their *.rpm
> >repository quality .
>
> Thanks,
> but my server is *already* installed and running (using Ubuntu Server
> 20.04.3)
> and I am only wanting to *add* a light-weight desktop environment to be
> able to
> use some graphics tools for administration work on the server (such as
> Gparted
> etc).
> And of course to use Lazarus directly on this server to build some Linux
> tools
> etc. But it will be accessed using VNC from my Windows box.
>
> My question is asked from my worry that Lazarus itself will add
> dependencies on
> the desktop environment, which do not match the target system
> environments
>
> So I am looking for a *desktop environment* to be installed on a server
> currently *without* a desktop so Lazarus can be used to create apps that
> will
> work universally on Linux.
>
>
> --
> Bo Berglund
> Developer in Sweden
>
> --
> ___
> lazarus mailing list
> lazarus@lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus
>
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Kostas Michalopoulos via lazarus

On 11/21/21 11:45, Juha Manninen via lazarus wrote:

LCL-QT5 works better than LCL-GTK2 now IMO.


What are the issues on Gtk2 that are fixed in Qt5?

Kostas
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Juha Manninen via lazarus
On Sun, Nov 21, 2021 at 10:33 AM Michael Van Canneyt via lazarus <
lazarus@lists.lazarus-ide.org> wrote:

> You can install KDE, but then installing Lazarus will most likely add the
> GTK libraries as a dependency.
>

With KDE I recommend Lazarus with LCL-QT5 bindings.
KDE itself is based on QT5.
LCL-QT5 works better than LCL-GTK2 now IMO.

Regards,
Juha
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Lazarus on Linux, which desktop environment?

2021-11-21 Thread Michael Van Canneyt via lazarus



On Sun, 21 Nov 2021, Bo Berglund via lazarus wrote:


On Sun, 21 Nov 2021 02:53:35 +0300, Mehmet Erol Sanliturk via lazarus
 wrote:


It is possible to use  KUbuntu ( KDE with Ubuntu ) . My choice is Fedora
because I find it more easily usable and with respect to their *.rpm
repository quality .


Thanks,
but my server is *already* installed and running (using Ubuntu Server 20.04.3)
and I am only wanting to *add* a light-weight desktop environment to be able to
use some graphics tools for administration work on the server (such as Gparted
etc).
And of course to use Lazarus directly on this server to build some Linux tools
etc. But it will be accessed using VNC from my Windows box.

My question is asked from my worry that Lazarus itself will add dependencies on
the desktop environment, which do not match the target system environments

So I am looking for a *desktop environment* to be installed on a server
currently *without* a desktop so Lazarus can be used to create apps that will
work universally on Linux.


It does not matter what environment you install.

The only thing that matters is that the final environment has the necessary
libraries for the widgetset with which you compile your application.
Currently that is by default gtk2.

You can install KDE, but then installing Lazarus will most likely add the
GTK libraries as a dependency.


So the easiest is to install something that is GTK based, like MATE as used
in linux mint.

Michael.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus