Code Monkey home page Code Monkey logo

wayland's People

Contributors

plfiorini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

damianatorrpm

wayland's Issues

Add liri_shell.ready

Emit a signal when the UI has finished and the desktop is ready to be revealed.

Build error on Alpine Linux

Hi,

I have an issue while trying to build this library (for packaging into Alpine Linux).

Current Behavior

It looks like some files are missing:

[ 27%] Building CXX object src/waylandclient/CMakeFiles/WaylandClient.dir/lirishell.cpp.o
In file included from /home/markand/dev/alpine/aports/testing/liri-wayland/src/wayland-140f3831d2a089b8605a5f5805c6639582e06369/src/wayl
andclient/liricolorpicker.cpp:5:
/home/markand/dev/alpine/aports/testing/liri-wayland/src/wayland-140f3831d2a089b8605a5f5805c6639582e06369/src/waylandclient/liricolorpic
ker_p.h:11:10: fatal error: LiriWaylandClient/private/qwayland-liri-color-picker.h: No such file or directory
   11 | #include <LiriWaylandClient/private/qwayland-liri-color-picker.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/waylandclient/CMakeFiles/WaylandClient.dir/build.make:234: src/waylandclient/CMakeFiles/WaylandClient.dir/liricolorpic
ker.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

Environment

I'm using Alpine Linux (aarch64) 3.14 and currently trying to build the last git version.

The file seems to exist there though:

./src/waylandclient/qwayland-liri-color-picker.h

Add shortcut interface to liri_shell protocol

Shortcut only works on the compositor. A client like shell helper cannot bind to a shortcut.
We need an interface that lets a liri_shell client to register a shortcut to the compositor and get notified when it's activated.

Crash when closing a window of a Liri app

Thread 1 "liri-shell" received signal SIGSEGV, Segmentation fault.
0x00007f21683ea54c in QWaylandSurface::resource() const () from /lib64/libQt5WaylandCompositor.so.5
(gdb) bt
#0  0x00007f21683ea54c in QWaylandSurface::resource() const () at /lib64/libQt5WaylandCompositor.so.5
#1  0x00007f21670942c9 in LiriDecoration::surfaceResource() const (this=0x260de50) at ../desktop/wayland/src/waylandserver/liridecoration.cpp:193
#2  LiriDecorationManager::unregisterDecoration(LiriDecoration*) (this=<optimized out>, decoration=0x260de50) at ../desktop/wayland/src/waylandserver/liridecoration.cpp:103
#3  LiriDecorationPrivate::liri_decoration_destroy_resource(QtWaylandServer::liri_decoration::Resource*) (this=0x2d7cfb0, resource=<optimized out>) at ../desktop/wayland/src/waylandserver/liridecoration.cpp:135
#4  0x00007f21670a79cb in QtWaylandServer::liri_decoration::destroy_func(wl_resource*) (client_resource=<optimized out>) at desktop/wayland/src/waylandserver/qwayland-server-liri-decoration.cpp:321
#5  0x00007f216705997f in destroy_resource () at /lib64/libwayland-server.so.0
#6  0x00007f216705a013 in wl_client_destroy () at /lib64/libwayland-server.so.0
#7  0x00007f216705a44b in wl_client_connection_data () at /lib64/libwayland-server.so.0
#8  0x00007f2167059ac2 in wl_event_loop_dispatch () at /lib64/libwayland-server.so.0
#9  0x00007f21683e91d7 in QWaylandCompositor::processWaylandEvents() () at /lib64/libQt5WaylandCompositor.so.5
#10 0x00007f21688153c0 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#11 0x00007f21688326c8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#12 0x00007f21687e457b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#13 0x00007f21687ec1b4 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#14 0x000000000041639b in main(int, char**) (argc=1, argv=<optimized out>) at ../desktop/shell/src/compositor/main.cpp:223

XdgSurface and XdgPopup

XdgPopup can be used as a parent for WlrLayerSurfaceV1 surfaces.
This means we have to implement the bare minimum stuff from xdg-shell in order to create popups.

liri-shell: OSD

We are sharing OSD responsability between compositor and shell helper, so we need to add a new interface to liri-shell to let them communicate.

See lirios/shell#185

It seems that libwayland isn't detected anymore

It seems that it detects Wayland as 0.0.0 oddly. I didn't check each revision, but I can build 89303e9eb2c1809bc8619e75088b14897700e974 ...I can't build the latest commit from the develop branch, as I get the below output running cmake -Wno-dev .. -DCMAKE_INSTALL_PREFIX=$INSTALLDIR -DCMAKE_PREFIX_PATH=$INSTALLDIR -DCMAKE_BUILD_TYPE=RELEASE

-- Found Wayland_Server: /opt/lib/i386-linux-gnu/libwayland-server.so (found version "1.17.90") 
-- Could NOT find Wayland: Found unsuitable version "0.0.0", but required is at least "1.15" (found /opt/lib/i386-linux-gnu/libwayland-client.so;/opt/lib/i386-linux-gnu/libwayland-server.so)
-- Found WaylandProtocols: //opt/share/wayland-protocols (found suitable version "1.18", minimum required is "1.15") 
-- Found QtWaylandScanner: /opt/bin/qtwaylandscanner  
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Found Wayland_Cursor: /opt/lib/i386-linux-gnu/libwayland-cursor.so (found version "1.17.90") 
-- Found Wayland_Egl: /opt/lib/i386-linux-gnu/libwayland-egl.so (found version "18.1.0") 
-- Found Wayland: /opt/lib/i386-linux-gnu/libwayland-client.so;/opt/lib/i386-linux-gnu/libwayland-server.so;/opt/lib/i386-linux-gnu/libwayland-cursor.so;/opt/lib/i386-linux-gnu/libwayland-egl.so (found version "0.0.0")  
CMake Error at tests/auto/server/CMakeLists.txt:44 (target_link_options):
  Unknown CMake command "target_link_options".


-- Configuring incomplete, errors occurred!
See also "/srcbuild/lirios-wayland/build/CMakeFiles/CMakeOutput.log".
PackagePrepareBuild finished in 1 seconds

Add xdg-output server protocol

Recently (for Qt 5.14) I made the server-side implementation of xdg-output.
We can't use that since we still require Qt 5.12, but I don't want to wait so much.
Copy the code here.

Modal shell dialogs

Create a protocol to implement a modal behavior for layer shell modal dialogs.

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.