Skip to content

Commit

Permalink
Merge 0.4
Browse files Browse the repository at this point in the history
  • Loading branch information
rilian-la-te committed May 4, 2017
2 parents 5ce4dff + 8367151 commit 91cb0ac
Show file tree
Hide file tree
Showing 117 changed files with 8,158 additions and 3,180 deletions.
13 changes: 8 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,10 @@ add_definitions(-DVALA_VERSION="${VALA_SHORTVER}")
add_definitions(-Wall -Wno-unused # Vala loves to create variables
# -pedantic
-Wno-ignored-qualifiers
-Wno-deprecated-declarations #Vala warns us already
-Wno-incompatible-pointer-types
-Wno-missing-field-initializers
-Wno-discarded-qualifiers
-Wno-sign-compare
-Wextra) #Vala often forgot cast to GtkWidget or gpointer
find_package (PkgConfig)

Expand All @@ -116,10 +118,10 @@ pkg_check_modules (E
gthread-2.0>=2.50)

pkg_check_modules (F
libpeas-1.0>=1.2)
libpeas-1.0>=1.14)

pkg_check_modules (G
libpeas-gtk-1.0>=1.2)
libpeas-gtk-1.0>=1.14)

pkg_check_modules (H
gmodule-2.0>=2.50)
Expand All @@ -130,8 +132,8 @@ pkg_check_modules (CORE REQUIRED QUIET
gio-2.0>=2.50
gio-unix-2.0>=2.50
gthread-2.0>=2.50
libpeas-1.0>=1.2
libpeas-gtk-1.0>=1.2
libpeas-1.0>=1.14
libpeas-gtk-1.0>=1.14
gmodule-2.0>=2.50)

set(CORE_PACKAGES
Expand Down Expand Up @@ -164,6 +166,7 @@ set(TARGET_GLIB ${GLIB_VERSION_MAJOR}.${GLIB_VERSION_MINOR})
ADD_SUBDIRECTORY(po)
ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(app)
ADD_SUBDIRECTORY(runner)
ADD_SUBDIRECTORY(applets)
ADD_SUBDIRECTORY(data)

Expand Down
33 changes: 21 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,50 +10,59 @@ TODO
* [x] Write Vala Panel Plugin wrapper for LXTray from simple-panel (it is less buggy) (0.2) (done in XEmbed plugin)
* [x] Make global menus from Unity Appindicator (rewrite it on Vala but without Ubuntu deps) (0.3) (see https://github.com/rilian-la-te/vala-panel-appmenu)
* [x] Write a window buttons applet (0.3)
* [ ] Going to C again (0.4.X)
* [ ] Write Notification Center Applet (0.6)
* [ ] Going to C again (0.4)
* [ ] Wayland support, make compositor and complete Wayland support(1.0)
* [ ] Taskbar DBus library for compositor (1.0)
* [x] ~~Redo ValaPanelIconGrid using GtkFlowBox and such wonders.~~ (not needed since I am already using FlowBox everywhere)

*TODO for 0.4.0*
* [x] Rewrite plugins API and core into C
* [ ] Split Toplevel into 3 objects: positioner, layout and window
* [x] Made PanelManager
* [ ] Allow positioner to be changed and dynamically linked
* [x] Create Platform (abstraction that will handle all positioning)
* [X] Allow Platform to be changed and independent form toplevel code
* [x] Create X11 platform (with current positioning code)
* [ ] Introduce gravity-based positioning
* [ ] Create Layout and made pack-type useful
* [ ] Rewrite toplevel into C
* [X] Rewrite applet into C
* [x] Made PanelManager (done as Platform)

*TODO for 0.5.0*
* [ ] Drop libpeas in favor to applets-new.
* [ ] Be prepared for GTK4
* [ ] Replace XEmbed to proxy and move it to extras

*Some notes about realization*

Plugin-based panel. Users/developers can provide their own custom applets,
which are fully integrated. They can be moved, added, removed again, and
even broken.

Dependencies
Dependencies:
---

*Core*
*Core:*
* GLib (>= 2.50.0)
* GTK3 (>= 3.22.0)
* libpeas-1.0
* libpeas-1.0 (>= 1.14.0)
* valac

*Plugins*
*Plugins:*
* libwnck (>= 3.4.7)
* libX11




Lastly, always set `-DCMAKE_INSTALL_PREXIX=/usr` when using cmake. Otherwise you
won't be able to start the panel on most distros.

Author
---
* <[email protected]>
* Athor <[email protected]>

Special thanks
---
* [Ikey Doherty](mailto:[email protected]) for sidebar widget and icontasklist.
* [Ikey Doherty](mailto:[email protected]) for icontasklist.
* [XFCE Team](http://www.xfce.org/) for XFCE Tasklist.
* [LXPanel team](https://git.lxde.org/gitweb/?p=lxde/lxpanel.git;a=summary) for creating a base for my fork. Vala Panel uses LXPanel's tray code and other inspirations (including generic-config-dialog.vala and most positioning code in toplevel.vala).

Inspirations
Expand Down
56 changes: 6 additions & 50 deletions app/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,64 +1,20 @@
INCLUDE(GResource)
set(VALA_FILES application.vala)
vala_precompile(VALA_C ${APPNAME}
${VALA_FILES}
PACKAGES
${CORE_PACKAGES}
cvalapanel
vala-panel
posix
OPTIONS
--vapidir=${CMAKE_SOURCE_DIR}/vapi
--vapidir=${CMAKE_BINARY_DIR}/vapi
--vapidir=${CMAKE_BINARY_DIR}/lib
--target-glib=2.50
--gresources=${CMAKE_CURRENT_SOURCE_DIR}/vala-panel.gresource.xml
--thread
-D GLIB242
)

set(RUNNER_SOURCES
runner.c
runner.h
info-data.c
info-data.h
boxed-wrapper.c
boxed-wrapper.h
glistmodel-filter.c
glistmodel-filter.h
)
add_definitions(-DG_SETTINGS_ENABLE_BACKEND)
glib_compile_resources(GLIB_RESOURCES_APP
source
vala-panel.gresource.xml
runner.gresource.xml
)

#####
# Executable
#####
set(APP_SOURCES
${GLIB_RESOURCES_APP}
${GLIB_RESOURCES_APP}
vala-panel-platform-standalone-x11.c
vala-panel-platform-standalone-x11.h)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}/${CMAKE_PROJECT_NAME}/")
add_custom_target(vala-ide-app SOURCES ${VALA_FILES})
add_executable (${APPNAME} ${VALA_C} ${APP_SOURCES})
add_executable(${APPNAME}-new ${APP_SOURCES} application-new.c application-new.h)
vala-panel-platform-standalone-x11.h
application.c application.h)
add_executable(${APPNAME} ${APP_SOURCES} )
target_link_libraries (${APPNAME} ${LIBNAME} ${CORE_LIBRARIES})
target_link_libraries (${APPNAME}-new ${CORE_LIBRARIES} ${LIBNAME})
target_include_directories(${APPNAME} PRIVATE ${CORE_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/lib/c-lib ${CMAKE_SOURCE_DIR}/lib ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/lib)
target_include_directories(${APPNAME}-new PRIVATE ${CORE_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/lib/c-lib ${CMAKE_SOURCE_DIR}/lib ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/lib)

install (TARGETS ${APPNAME} ${APPNAME}-new RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin)
target_include_directories(${APPNAME} PRIVATE ${CORE_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/lib/c-lib ${CMAKE_SOURCE_DIR}/lib ${CMAKE_BINARY_DIR}/lib)

add_executable(${APPNAME}-runner
${GLIB_RESOURCES_APP}
${RUNNER_SOURCES}
runner-app.c
runner-app.h
${CMAKE_SOURCE_DIR}/lib/css.c
${CMAKE_SOURCE_DIR}/lib/launcher.c)
target_link_libraries (${APPNAME}-runner ${CORE_LIBRARIES} m)
target_include_directories(${APPNAME}-runner PRIVATE ${CORE_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
install (TARGETS ${APPNAME}-runner RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin)
install (TARGETS ${APPNAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin)
Loading

0 comments on commit 91cb0ac

Please sign in to comment.