Wiki page about-enlightenment.md changed with summary [] by Nate Drake
This commit is contained in:
parent
79ba7a551e
commit
f8616fe739
|
@ -1,344 +1,78 @@
|
|||
---
|
||||
~~Title: About Enlightenment~~
|
||||
==== Enlightenment ====
|
||||
~~NOCACHE~~
|
||||
---
|
||||
|
||||
[[download|Download Enlightenment Here]]
|
||||
# Enlightenment #
|
||||
|
||||
Code quality - [[https://scan.coverity.com/projects/554|Coverity scan status]]
|
||||
![Enlightenment Icon](/_media/icon-enlightenment.png)
|
||||
|
||||
Screenshots - [[https://www.enlightenment.org/ss|Click here to see all]]
|
||||
Enlightenment (0.22.1) (a.k.a E22) is the next generation of graphical desktop shell from the Enlightenment project. It resembles a traditional UNIX/X1 style desktop by design but has a range of add-ons, as well as a different core design philosophy.
|
||||
|
||||
//Note - the above screenshots are user submitted and not filtered or approved. They are submitted to share using the Enlightenment screenshot feature after clicking on "Share". If there is private or inappropriate content, we are not responsible. If you find content objectionable, click on the image and click on the "Alert content" at the top of the page.//
|
||||
Enlightenment manages windows and files. It's a compositor and is also capable of launching applications, handling the user interface and even system settings.
|
||||
|
||||
{{:icon-enlightenment.png?nolink |}}
|
||||
If Enlightenment is already available for your current OS, make sure the version you download is up to date. If not you can compile it yourself. To get started [download](/download) Enlightenment and the *Enlightenment Foundation Library (EFL)* components. You can find more details about software dependencies below.
|
||||
|
||||
Enlightenment (0.17+) (a.k.a E17) is the next generation of
|
||||
graphical desktop shell from the Enlightenment project. When you first
|
||||
run it and get past the initial setup wizard, you should end up with a
|
||||
desktop not unlike the above. It is a very traditional UNIX/X11 style
|
||||
desktop, because that is what E primarily is and attempts to be, **BUT**
|
||||
with a bunch of bells, whistles and modernities that were never there,
|
||||
as well as a different core design philosophy. There seems to be some
|
||||
obsession with Window Manager vs. Desktop Environment debates. It
|
||||
doesn't much matter what you call it. It manages windows. It does
|
||||
compositing. It manages files. It launches applications. It handles UI
|
||||
and system settings.
|
||||
![Screenshot](https://www.enlightenment.org/_media/playground/about-enlightenment/e-5a182c468ecba4.62258835x800.png "Enlightenment screenshot")
|
||||
|
||||
This information assumes you will download and compile Enlightenment
|
||||
and its necessities beyond what your current OS does or can provide.
|
||||
If Enlightenment is provided already as packages, you may want to
|
||||
check them out first, see if they are actually up to date, as opposed
|
||||
to compiling it all yourself. If not, then this information will help
|
||||
you get it set up yourself and take your first few steps. There are a
|
||||
few things you will need to use Enlightenment. Firstly you will need
|
||||
to [[download]] Enlightenment and EFL library components. You will need to
|
||||
provide the appropriate system dependencies too. The details will be
|
||||
further on.
|
||||
## Key features of E ##
|
||||
|
||||
=== Misconceptions and assumptions ===
|
||||
* Complete environment including centralized configuration of most settings.
|
||||
* Very low memory requirements (about one third of [Xfce](https://xfce.org/)).
|
||||
* Supports both X11 and Wayland display servers.
|
||||
* Uses 'Modules' : pluggable pieces of code that add various functionality to the window manager itself. Users may be able to interact with modules visually through 'gadgets', which can be run outside Englightenment.
|
||||
* Configurable themes.
|
||||
* Compositing can be done quickly even on older machines without GPUs.
|
||||
* Support for multiple languages and operating systems.
|
||||
|
||||
Before we go any further, it is time to clean up some common
|
||||
misconceptions. First, Enlightenment is not new. It is OLD. It
|
||||
predates larger desktop environments like GNOME or XFCE. It is just
|
||||
barely younger than KDE. It never started life as an attempt to "be a
|
||||
full desktop environment". It started life as simply a window manager.
|
||||
This was back towards the latter part of 1996, and its first 0.1
|
||||
release came in the first part of 1997. It was a window manager with
|
||||
some extras to scratch the itch that "everything was gray bevels and
|
||||
UIs had to be plain to be functional or useful, and that computers/X11
|
||||
were not capable of more". It handily proved that to be wrong. It
|
||||
could manage function AND form more flexibly than anything else, and
|
||||
to this date is still in an enviable position of flexibility in both
|
||||
behavior features and in terms of visuals. In fact, its Achilles heel
|
||||
simply may be that it has too many options and too much flexibility.
|
||||
Some of the extras filled in the gaps, like setting wallpaper, that
|
||||
was always done by 3rd party tools and not the window manager at the
|
||||
time. If you are after a constrained and simple UI, then Enlightenment
|
||||
(E) is not for you. It can be configured to be plain and simple if you
|
||||
try, or to be buzzing with activity and complexity, but this is up to
|
||||
you. Its default is somewhere in between these to give you a taste of
|
||||
what it can do on both ends of the spectrum.
|
||||
|
||||
You aren't stuck with the default theme. Enlightenment was the
|
||||
first Window Manager (WM) to introduce themes in X11 (pre-packaged
|
||||
sets of data that you just grab and select, providing you with a vast
|
||||
new look and feel). Today in Enlightenment, these themes come as
|
||||
"Edje" files (.edj), and are pre-packaged data files containing all
|
||||
images, layout, animation etc. that you may need. They never get
|
||||
"unpacked". They are used "live as-is", and only the data needed from
|
||||
the file is sourced and decoded, so even if the theme is massive, only
|
||||
the pieces needed at any one time are decoded into memory, which is
|
||||
normally a fraction of the actual file size. They are also live data
|
||||
and need to be there while E17 runs as it is forever digging bits of
|
||||
data out of these files as it needs it. It is an accepted fact that
|
||||
the default look will not be for everyone. It tries to strike a
|
||||
balance of being unique (not mimicking some other desktop look), yet
|
||||
still being stylish. It is meant to echo some of the past from where
|
||||
Enlightenment comes from, and yet roll in modern effects and feels. It
|
||||
sacrifices some "usability" for looks, yet tries to keep a balance and
|
||||
still be functional. It will not be for everyone, but it is hoped that
|
||||
it keeps you mostly happy until you find other themes that exactly
|
||||
meet your visual needs. You will find this as an on-going philosophy
|
||||
in Enlightenment. One size does NOT fit all. That's what options are
|
||||
for. That's why we have themes. Do not assume that what
|
||||
you see is what you are stuck with. You are expected to experiment and
|
||||
discover what is good for you. Maybe the default is fine. Maybe it is
|
||||
not. That's why we pioneered themes and spent immense amounts of time
|
||||
making them nicely packaged, efficient and powerful enough to
|
||||
fine-tune almost any aspect of the UI.
|
||||
## A Brief History of Enlightenment ##
|
||||
|
||||
That leads onto the next thing you may find quickly. Enlightenment has
|
||||
so many options, because we believe that **CHOICE** is important. If you
|
||||
don't believe that your preferences matter, then maybe another project
|
||||
is better for you, but we firmly believe that they do. We also believe
|
||||
that there are others who have different preferences to you and that
|
||||
they matter too. We may not have accounted for every single option out
|
||||
there. We may not have presented it to you in a way that makes it
|
||||
childs play to find and use, but we have tried. Over time options will
|
||||
be cleaned up and accessibility to them improved. A lot of them are
|
||||
there simply because they needed to be and not a lot of time was spent
|
||||
fine-tuning how to present them in a fool-proof manner. This will
|
||||
improve over time and with input, suggestions, patches etc. we hope to
|
||||
still offer all the options you need or want, but in a much more
|
||||
accessible form.
|
||||
Enlightenment predates larger desktop environments such as GNOME, although it was originally designed as a flexible window manager.
|
||||
|
||||
Not everything is perfect, polished and "finished". This is not the
|
||||
end of a path. It is the start of a whole new one. If you find
|
||||
something you think could be better, please don't just complain and
|
||||
vanish. [[contact|Contact us]] and open up a dialogue. Maybe we agree.
|
||||
Maybe we disagree. Maybe we are already working on it. Maybe you can
|
||||
help out and provide patches too.
|
||||
When Enlightenment was first released in the late 90's, it aimed to provide certain features such as setting the desktop wallpaper which until then were managed by 3rd party tools. Enlightenment was also the first window manager to introduce *X Window System (X11)* themes. These were pre-packaged files containing image, layout and animation data which could be installed quickly and easily, changing the overall look and feel. Today, themes for Enlightenment are available as "Edje" (.edj) files. These are used 'live' in that they aren't unpacked: only data that's actually needed from Edje files is accessed and loaded into memory meaning Enlightenment can handle even very large theme files.
|
||||
|
||||
----
|
||||
Enlightenment offers so many options that not all features work as well as they could. If you find an area that requires improvement use the [Contact Page](/contact) to get in touch.
|
||||
|
||||
=== Philosophy ===
|
||||
## The Enlightenment Philosophy ##
|
||||
|
||||
We have certain things that are important to us and how we work. They
|
||||
will often show immediately to users, and it is good to explain this
|
||||
here. They will lurk behind our decisions and responses, so instead of
|
||||
having to explain them each time, setting the tone here is a good idea.
|
||||
The underlying philosophy behind Enlightenment is that users should be given as much control as possible. There is often a trade-off in maintainability by programmers, current and future development, as well as the time available to do work. Developers are encouraged to introduce new features which 'just work' without additional options rather than delay release through constant fine tuning. While configuration is important Enlightenment strives to be accessible to both normal and power users.
|
||||
|
||||
== CHOICE IS GOOD ==
|
||||
### Efficiency ###
|
||||
|
||||
A user should be given as much control as is feasible. There is often
|
||||
a trade-off in maintainability by the programmers of some code,
|
||||
current and future development, as well as available time to do the
|
||||
work. It is always best to make any feature "just work" without
|
||||
options for everyone if possible, but the effort may be immense, or
|
||||
the "what does "just work" really mean may not be as clear to some as
|
||||
to others, and so options are provided to allow the fine-tuning to be
|
||||
done by users. Sometimes options are dangerous, but necessary for some
|
||||
people. Sometimes they are so dangerous that they are buried under
|
||||
layers of complex systems to try and keep them from being mis-used.
|
||||
Sometimes they are just, by nature, complex, and that's life. In the
|
||||
end, choice is good. That means that options and configuration are
|
||||
important. We'd love to streamline how they are presented, and make it
|
||||
easier for the "Average Joe", but never shall we do this at the
|
||||
expense of the power user.
|
||||
Enlightenment is designed for efficiency, without sacrificing looks or functionality. The theme files are binary blobs but can be dissected to reveal tools such as *edje_decc*. The same holds true for configuration (*.eet*) files.
|
||||
|
||||
== VANILLA VS. STRAWBERRY VS. CHOCOLATE ==
|
||||
Emphasis is placed on runtime speed and efficiency over forcing users to edit the configuration over and over prior to running a program. Most Enlightenment options can easily be configured through a GUI although there are also tools for importing and editing text files for dedicated programmers.
|
||||
|
||||
Like with choice of options, the actual aesthetics are something that
|
||||
is highly subjective and personal. What is beautiful for one person
|
||||
can be ugly for another. Otherwise we'd all still be driving black
|
||||
Ford model-T's and all be happy about it. Some desktops and OSs
|
||||
provide vanilla looks. Some are strawberry. Some can never be changed.
|
||||
We have chosen chocolate by default. Mostly because it means we stand
|
||||
out by default. You can change this if you want. You can even create
|
||||
your own flavors of look in gory detail if you spend the time on the
|
||||
artwork and layout. Take advantage of the choice.
|
||||
Enlightenment also has advanced error detection routines. When problems are detected, users are offered the choice either to debug or to restart from where they left off without losing any data. If you've installed *gdb* and activated debug options, E21 also saves a crash log file to *~/.e-crashdump.txt*.
|
||||
|
||||
== EFFICIENCY MATTERS ==
|
||||
Enlightenment is also designed to run on a variety of platforms from budget smartphones to multi-core servers with two screens. The development process is designed to accommodate older and slower machines as well as the most recent. For this reason, compositing in Enlightenment is still very efficient even without a GPU.
|
||||
|
||||
We want Enlightenment to be as efficient as possible. We don't want to
|
||||
sacrifice looks or functionality either, so we have spent a lot of
|
||||
effort making a lot of libraries that help this happen. Our theme
|
||||
files are binary blobs. They may appear opaque at first, but they are
|
||||
dissectable, given tools we provide like edje_decc. The same for our
|
||||
configuration files (eet). We value runtime speed and efficiency over
|
||||
giving the user encouragement to go hack their configuration files
|
||||
with a text editor. We spent a lot of time providing a GUI for almost
|
||||
every option that exists in Enlightenment. It manages this for you.
|
||||
It's to ensure maximum efficiency at runtime. If you need to, on the
|
||||
odd occasion, dig into the bowels of these files we have tools that
|
||||
can export and import text files that you can edit, so for the real
|
||||
tinkerer, hacker and developer you can do what you need to, BUT the
|
||||
regular user is discouraged from messing at this level, as this is
|
||||
where you can get yourself into more trouble if you get it wrong. We
|
||||
have also chosen a much more process-lean model with fewer processes
|
||||
and more rolled into a single one. This gives better opportunities for
|
||||
efficiency, but makes things a little more fragile. To solve the
|
||||
fragility we have made error recovery very good with enlightenment
|
||||
catching its own errors and offering the ability to debug or just
|
||||
restart from where you left off and move on without losing any work. E17
|
||||
leaves a crash log file (~/.e-crashdump.txt) if you have gdb installed
|
||||
and you have debug symbols on.
|
||||
### Libraries ###
|
||||
|
||||
== NOT EVERYONE DRIVES A F1 ==
|
||||
Over 80% of the Enlightenment Project's code has its own stand-alone libraries, which allows it to function as much more than a simple window manager. Developers emphasise building libraries first over adding single features. This provides valuable resources for other developers who may want to reuse those libraries for other projects.
|
||||
|
||||
Not just being efficient, but realizing that not everyone has the
|
||||
latest and greatest hardware to run Enlightenment is what we are
|
||||
about. It's also not just one architecture. They may be stuck on
|
||||
something quite old (some 486), or want Enlightenment to work on
|
||||
something quite bizarre. We have gone to a lot of effort to make
|
||||
Enlightenment scale from anything like a 200MHz ARM phone with 32M RAM
|
||||
all the way up to the latest multi-core, 64bit multi-GHz and 16GB+
|
||||
desktop beasts with 2 or more screens. We keep in mind the puny end of
|
||||
the spectrum all the way up to the beastly end. When we make decisions
|
||||
they try and ensure every part of this spectrum gets a fair go, and
|
||||
preferably leaves as few people behind as possible. This also means
|
||||
sometimes raising the bar in order not to hold back future things, but
|
||||
also means sometimes holding back until a better way is found. You'll
|
||||
find evidence of this in the fact that out-of-the-box we have made
|
||||
compositing fast and usable even without a GPU, and yet we can fully
|
||||
push your GPU if you have one and it has solid drivers. We care.
|
||||
## Porting ##
|
||||
|
||||
== EYE CANDY MATTERS ==
|
||||
Most Enlightenment Developers use Linux, but, while Linux is usually the first operating system to be supported, the project welcomes patches and inputs from developers using other systems such as MacOS, BSD and Windows 10.
|
||||
|
||||
If you want a minimal interface, you can configure Enlightenment to be
|
||||
quite minimal, but it takes effort. Enlightenment leans towards
|
||||
providing eye candy where it can, and often comes by default that way.
|
||||
This is how we roll. We always have. Haters gonna hate. That's how we
|
||||
roll. Bring on the lollipops!
|
||||
### Multi language support ###
|
||||
|
||||
== WE MAKE LIBRARIES MUCH MORE THAN WM'S ==
|
||||
Most of the Enlightenment website is in English, which is also the software's default language. However, many Enlightenment developers are not native English speakers, which is why Enlightenment does support a number of other languages. The translation process is ongoing. Currently the project supports reading text from right to left, as well as the flexible UTF-8 character set.
|
||||
|
||||
One thing over the years that has happened, is that the project has
|
||||
morphed into a library project much more than a Window Manager or
|
||||
Desktop project. Of our released code something like 80% of it is
|
||||
stand-alone libraries. This is why there was no apparent progress in
|
||||
the Window Manager for many years. The progress was sunk all into
|
||||
building libraries and a toolkit, in order to make the WM and much
|
||||
more besides. A lot of effort was spent on abstractions to ensure we
|
||||
have many years of smooth sailing into the future. When we do things
|
||||
we often go and build libraries first, and then try and make them
|
||||
applicable to much more than just the simple problem being solved in
|
||||
Enlightenment, which adds overhead, but provides valuable resources
|
||||
for developers other than us who wish to re-use that effort in their
|
||||
own creations.
|
||||
### Open Source ###
|
||||
|
||||
== PORTING MATTERS ==
|
||||
Enlightenment and its libraries are all open source, using either the BSD 2-clause, LGPL or GPL software licenses. Developers who create libraries either choose the software license, or inherit it if the library is derived from another.
|
||||
|
||||
We, as a group, primarily work on Linux systems. We have developers
|
||||
who use and focus on others like MacOS-X, Windows, the BSD's even PS3.
|
||||
We care about porting, and that often adds overhead and complexity,
|
||||
but we don't have build and development farms set up for each OS out
|
||||
there, so often you'll find Linux gets the support first and foremost,
|
||||
and then it's improved for other targets. Sometimes we shortcut that
|
||||
and do it "the Linux way" only as we have problems to solve and can
|
||||
worry about other target systems later. We are always open to ways of
|
||||
making that better and more portable. We welcome patches and input and
|
||||
anyone willing to do the hard yards of supporting their OS.
|
||||
The Enlightenment Philosophy holds that an open source approach is the best way to propagate knowledge as well as gain feedback from the community. This in turn helps to create more helpful and detailed documentation. It also means any software developers create is installed onto more devices.
|
||||
|
||||
== WE HAVE A SENSE OF HUMOR ==
|
||||
## Further Reading ##
|
||||
|
||||
We are not always that serious a bunch. We have a sense of Humor. We
|
||||
exercise it regularly. You may call it "unprofessional". We call it
|
||||
"having a life". :)
|
||||
[Enlightenment](/download)
|
||||
: You can download Enlightenment from here.
|
||||
|
||||
== THE WORLD IS NOT ENGLISH ==
|
||||
[Coverity scan status](https://scan.coverity.com/projects/554)
|
||||
: Enlightenment's code quality.
|
||||
|
||||
Whilst most of our website is in English, as is the default language
|
||||
for Enlightenment (until you change it), and it's the common language
|
||||
of communication amongst developers and even a lot of users. Even so,
|
||||
we realize and are fully aware that people speak other languages.
|
||||
Many, in fact most of our developers are not native English speakers.
|
||||
We have tried to support "the rest of the world" as much as we can and
|
||||
hope to continue in future. It is an ongoing process to provide
|
||||
translations and such support. Help out. We do care. We are busy. Very
|
||||
busy. But we care. It should be hopefully evident in the large list of
|
||||
languages Enlightenment is already translated to, partially or
|
||||
completely, and the fact we support selection of keyboard layouts and
|
||||
input methods as well. We are all UTF-8 through and through and
|
||||
support right-to-left text too as well as complex composition as is
|
||||
found in some languages (if you provide the right dependencies). Many
|
||||
of our developers do not live in their own native languages and
|
||||
countries, so we are fully aware of the challenges people face with
|
||||
another language environment.
|
||||
|
||||
== OPEN IS BEST ==
|
||||
|
||||
Enlightenment and its libraries are all open source (BSD 2 clause,
|
||||
LGPL or GPL for some executable binaries only). It is a mix because
|
||||
the person who founded each library chose the license, or a license is
|
||||
inherited from some original source. We respect that choice and
|
||||
license. We believe open is best because it simply is the best way to
|
||||
propagate knowledge, gain feedback and input and build a community
|
||||
beyond your small borders. It gets your software onto more devices and
|
||||
operating systems. It allows developers to poke and prod and find out
|
||||
what is really happening. It's the most detailed documentation ever
|
||||
made. It simply is better. But your "brand" of open and someone else's
|
||||
may differ. That's not for us to promote or debate. There are no other
|
||||
political aspirations for this project beyond that. Open is best. This
|
||||
also goes for our communication. Warts and all we discuss in the open.
|
||||
|
||||
=== Why oh why use E? ===
|
||||
|
||||
So if you've managed to read this far, you're rather patient and
|
||||
willing to invest more than 7 seconds on Enlightenment, but you're
|
||||
probably wondering "Why on earth should I use this Enlightenment
|
||||
thing? I don't want people to know I use E! They might think I do
|
||||
drugs or something?". Well wonder no more! You shall now be assaulted
|
||||
by our marketing blurb!
|
||||
|
||||
E is smaller, lighter, faster, nicer and more flexible that your
|
||||
current WM, and it's old school with a new-school twist. It's trendy
|
||||
and fashionable. You will simply be totally un-cool if you don't use
|
||||
it. Its farts smell of roses and world peace has been known to be
|
||||
solved by E. OK. Just kidding (though really... they do smell of
|
||||
roses!).
|
||||
|
||||
In all seriousness Enlightenment is fairly lean. Considering how much
|
||||
you get in return. It isn't a minimalist WM or desktop, but it is a
|
||||
massively long cry from the full desktop beasts that are its peers,
|
||||
even the ones that claim to be minimalist/lean. Enlightenment uses
|
||||
EFL. EFL was designed to provide the core of Enlightenment, and then
|
||||
some. But it was targeted at scaling down to things like mobile phones
|
||||
and embedded devices. This has meant that there was a large focus on
|
||||
being lean, and getting a lot of "return on investment" from the very
|
||||
core that sits under E17. This of course has paid off for
|
||||
Enlightenment itself rather nicely.
|
||||
|
||||
It only loads what it needs to, when it needs to. It caches what it no
|
||||
longer needs to avoid always re-fetching it, but these caches
|
||||
eventually get flushed or expire, so long-term it won't just grow
|
||||
without bound in memory footprint. Rendering can be done with the CPU
|
||||
and/or GPU. It's up to you. (though at the moment we don't give you
|
||||
any UI controls over the rendering engine for UI content, but the
|
||||
compositor allows the choice - the core toolkit is capable of it).
|
||||
|
||||
An E17 install on the exact same system as Unity on Ubuntu, simply
|
||||
replacing unity can save you 200M of RAM. Not to mention be snappier
|
||||
and more responsive. You will never know until you try, so why not at
|
||||
least give it a go? You run fewer processes since E17 now handles
|
||||
being the panel, filemanager, window manager and compositor (and more)
|
||||
all at once. It amortizes the cost of all these common components into
|
||||
a single process. You start quickly and you are now just a really cool
|
||||
person.
|
||||
|
||||
Enlightenment and EFL provide over-the-top power when it comes to
|
||||
re-skinning or theme changes. You can change not just colors and
|
||||
background images, but entire animations, multiple layers of imagery
|
||||
scaled, aligned and laid out to please. It's like Photoshop or The
|
||||
GIMP, but on steroids riding a train of rabid camels. If anything it
|
||||
may be an Achilles heel given how much power is exposed, but hey,
|
||||
that's what we have. If you are an artist, designer or skinner, you
|
||||
could hardly do much worse than E17. Wallpapers don't just have to be
|
||||
images. They can be complete interactive animations. You can provide
|
||||
multiple resolutions of your imagery all in-line in the same file and
|
||||
have the "best one chosen automatically" based on size. It's all like
|
||||
layers that are sized, scaled, aligned and arranged relative to
|
||||
each-other and every UI element is a collection of these. You can have
|
||||
it animate base on input events, or time. And not just the wallpaper.
|
||||
Anything in E17 can do this. Fade layers in and out, change their
|
||||
sizes, image content and more. Make your art come to life.
|
||||
|
||||
And for the tweaker heads amongst you, there is an option for every
|
||||
occasion. We don't go quietly into the night and remove options when
|
||||
no one is looking. None of those new big version releases with fanfare
|
||||
and "Hey look! Now with half the options you used to have!". We sneak
|
||||
in when you least expect it and plant a whole forest of new option
|
||||
seeds, watching them spring to life. We nail new options to walls on a
|
||||
regular basis. We bake options-cakes and hand them out at parties.
|
||||
Options are good. Options are awesome. We have lots of them. Spend
|
||||
some quality time getting to know your new garden of options in E17.
|
||||
It may just finally give you the control you have been pining for.
|
||||
[Gallery](/ss)
|
||||
: Click here to see more spectacular screenshots of Enlightenment.
|
||||
|
|
Loading…
Reference in New Issue