├── .gitignore
├── src
├── lib
│ ├── CMakeLists.txt
│ ├── albert
│ │ ├── resources
│ │ │ └── icons
│ │ │ │ ├── plugin_ok.png
│ │ │ │ ├── plugin_error.png
│ │ │ │ ├── plugin_notloaded.png
│ │ │ │ └── gear.svg
│ │ ├── resources.qrc
│ │ ├── include
│ │ │ ├── albert.h
│ │ │ ├── shlex.h
│ │ │ ├── action.h
│ │ │ ├── fallbackprovider.h
│ │ │ ├── core_globals.h
│ │ │ ├── indexable.h
│ │ │ ├── standardindexitem.h
│ │ │ ├── standardaction.h
│ │ │ ├── extension.h
│ │ │ ├── standarditem.h
│ │ │ └── item.h
│ │ ├── src
│ │ │ ├── albert
│ │ │ │ ├── trayicon.h
│ │ │ │ ├── mainwindow
│ │ │ │ │ ├── history.h
│ │ │ │ │ ├── proposallist.h
│ │ │ │ │ ├── settingsbutton.h
│ │ │ │ │ ├── resizinglist.h
│ │ │ │ │ └── actionlist.h
│ │ │ │ ├── matchcompare.h
│ │ │ │ ├── settingswidget
│ │ │ │ │ ├── grabkeybutton.h
│ │ │ │ │ ├── loadermodel.h
│ │ │ │ │ └── settingswidget.h
│ │ │ │ ├── querymanager.h
│ │ │ │ ├── trayicon.cpp
│ │ │ │ └── extensionspec.h
│ │ │ ├── standardobjects
│ │ │ │ ├── standardindexitem.cpp
│ │ │ │ ├── standardaction.cpp
│ │ │ │ └── standarditem.cpp
│ │ │ └── offlineindex
│ │ │ │ ├── indeximpl.h
│ │ │ │ └── fuzzysearch.h
│ │ └── CMakeLists.txt
│ ├── xdg
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ ├── export_xdg.h
│ │ │ └── xdgiconlookup.h
│ │ └── src
│ │ │ └── themefileparser.h
│ └── globalshortcut
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ ├── export_globalshortcut.h
│ │ └── hotkeymanager.h
│ │ └── src
│ │ └── hotkeymanager_x11.h
├── plugins
│ ├── debug
│ │ ├── resources
│ │ │ └── debug.png
│ │ ├── debug.qrc
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ └── src
│ │ │ ├── configwidget.h
│ │ │ ├── configwidget.cpp
│ │ │ └── main.h
│ ├── websearch
│ │ ├── resources
│ │ │ ├── wolfram.png
│ │ │ ├── ebay.svg
│ │ │ └── wikipedia.svg
│ │ ├── metadata.json
│ │ ├── websearch.qrc
│ │ ├── CMakeLists.txt
│ │ └── src
│ │ │ ├── configwidget.h
│ │ │ ├── main.h
│ │ │ └── enginesmodel.h
│ ├── chromebookmarks
│ │ ├── resources
│ │ │ └── favicon.png
│ │ ├── chromebookmarks.qrc
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ └── src
│ │ │ ├── configwidget.h
│ │ │ ├── configwidget.cpp
│ │ │ └── main.h
│ ├── firefoxbookmarks
│ │ ├── resources
│ │ │ └── favicon.png
│ │ ├── firefoxbookmarks.qrc
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ ├── src
│ │ │ ├── configwidget.h
│ │ │ ├── configwidget.cpp
│ │ │ └── main.h
│ │ └── configwidget.ui
│ ├── ssh
│ │ ├── ssh.qrc
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ ├── src
│ │ │ ├── configwidget.h
│ │ │ ├── configwidget.cpp
│ │ │ └── main.h
│ │ └── configwidget.ui
│ ├── calculator
│ │ ├── calculator.qrc
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ ├── configwidget.ui
│ │ └── src
│ │ │ ├── configwidget.cpp
│ │ │ ├── configwidget.h
│ │ │ └── main.h
│ ├── files
│ │ ├── files.qrc
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ └── src
│ │ │ ├── configwidget.h
│ │ │ ├── mimetypedialog.h
│ │ │ ├── file.h
│ │ │ └── main.h
│ ├── terminal
│ │ ├── terminal.qrc
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ ├── src
│ │ │ ├── configwidget.cpp
│ │ │ ├── configwidget.h
│ │ │ └── main.h
│ │ └── configwidget.ui
│ ├── virtualbox
│ │ ├── virtualbox.qrc
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ └── src
│ │ │ ├── vm.h
│ │ │ ├── main.h
│ │ │ └── vmitem.h
│ ├── mpris
│ │ ├── resources
│ │ │ ├── 1485099680_playback-play.svg
│ │ │ ├── 1485100510_primitive-square.svg
│ │ │ ├── 1485099690_playback-pause.svg
│ │ │ ├── 1485099687_playback-rewind.svg
│ │ │ └── 1485099683_playback-fast-forward.svg
│ │ ├── metadata.json
│ │ ├── mpris.qrc
│ │ ├── CMakeLists.txt
│ │ ├── src
│ │ │ ├── configwidget.h
│ │ │ ├── configwidget.cpp
│ │ │ ├── player.h
│ │ │ ├── item.h
│ │ │ ├── player.cpp
│ │ │ └── main.h
│ │ └── forms
│ │ │ └── configwidget.ui
│ ├── applications
│ │ ├── applications.qrc
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ └── src
│ │ │ ├── configwidget.h
│ │ │ ├── configwidget.cpp
│ │ │ └── main.h
│ ├── system
│ │ ├── metadata.json
│ │ ├── system.qrc
│ │ ├── CMakeLists.txt
│ │ └── src
│ │ │ ├── configwidget.h
│ │ │ ├── configwidget.cpp
│ │ │ └── main.h
│ ├── templateExtension
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ ├── src
│ │ │ ├── configwidget.h
│ │ │ ├── configwidget.cpp
│ │ │ └── main.h
│ │ └── configwidget.ui
│ ├── externalextensions
│ │ ├── metadata.json
│ │ ├── CMakeLists.txt
│ │ ├── src
│ │ │ ├── configwidget.h
│ │ │ ├── configwidget.cpp
│ │ │ ├── main.h
│ │ │ ├── externalextensionmodel.h
│ │ │ └── externalextension.h
│ │ └── configwidget.ui
│ ├── CMakeLists.txt
│ └── create_plugin.sh
└── application
│ ├── CMakeLists.txt
│ └── main.cpp
├── data
├── albert.desktop
├── SpotlightTemplate.sh
├── ArcTemplate.sh
├── themes
│ ├── Spotlight.qss
│ ├── Spotlight Dark.qss
│ ├── Yosemite.qss
│ ├── Yosemite Dark.qss
│ ├── Arc Blue.qss
│ ├── Arc Grey.qss
│ ├── Arc Dark Blue.qss
│ └── Arc Dark Grey.qss
└── SpotlightTemplate.qss
├── dist
├── changes-0.9.txt
├── changes-0.10.txt
├── changes-0.8.txt
└── changes-0.7.txt
├── ISSUE_TEMPLATE.md
├── .travis.yml
├── README.md
└── CMakeLists.txt
/.gitignore:
--------------------------------------------------------------------------------
1 | CMakeLists.txt.user*
2 | build*
3 | LicenseTemplate
4 | packaging
5 | design
6 | .albertignore
7 |
8 |
--------------------------------------------------------------------------------
/src/lib/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(albert)
2 | add_subdirectory(xdg)
3 | add_subdirectory(globalshortcut)
4 |
--------------------------------------------------------------------------------
/src/plugins/debug/resources/debug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/albert/dev/src/plugins/debug/resources/debug.png
--------------------------------------------------------------------------------
/src/plugins/websearch/resources/wolfram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/albert/dev/src/plugins/websearch/resources/wolfram.png
--------------------------------------------------------------------------------
/src/lib/albert/resources/icons/plugin_ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/albert/dev/src/lib/albert/resources/icons/plugin_ok.png
--------------------------------------------------------------------------------
/src/lib/albert/resources/icons/plugin_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/albert/dev/src/lib/albert/resources/icons/plugin_error.png
--------------------------------------------------------------------------------
/src/lib/albert/resources/icons/plugin_notloaded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/albert/dev/src/lib/albert/resources/icons/plugin_notloaded.png
--------------------------------------------------------------------------------
/src/plugins/chromebookmarks/resources/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/albert/dev/src/plugins/chromebookmarks/resources/favicon.png
--------------------------------------------------------------------------------
/src/plugins/firefoxbookmarks/resources/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/albert/dev/src/plugins/firefoxbookmarks/resources/favicon.png
--------------------------------------------------------------------------------
/src/plugins/ssh/ssh.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/ssh.svg
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/plugins/debug/debug.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/debug.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/plugins/calculator/calculator.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/calc.svg
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/plugins/chromebookmarks/chromebookmarks.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/favicon.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/plugins/files/files.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/inode-directory.svg
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/plugins/terminal/terminal.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/terminal.svg
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/plugins/virtualbox/virtualbox.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/virtualbox.svg
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/plugins/firefoxbookmarks/firefoxbookmarks.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/favicon.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/plugins/mpris/resources/1485099680_playback-play.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/plugins/mpris/resources/1485100510_primitive-square.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/plugins/applications/applications.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/application-x-executable.svg
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/plugins/mpris/resources/1485099690_playback-pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/plugins/mpris/resources/1485099687_playback-rewind.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/plugins/mpris/resources/1485099683_playback-fast-forward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/data/albert.desktop:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env xdg-open
2 | [Desktop Entry]
3 | Categories=Utility;
4 | Comment=A desktop agnostic launcher
5 | Exec=albert
6 | GenericName=Launcher
7 | Icon=albert
8 | Name=Albert
9 | StartupNotify=false
10 | Type=Application
11 | Version=1.0
12 |
--------------------------------------------------------------------------------
/src/plugins/mpris/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.mpris",
3 | "name" : "MPRIS Control",
4 | "version" : "1.0",
5 | "platform" : "Linux",
6 | "group" : "Extensions",
7 | "author" : "Martin Buergmann",
8 | "dependencies" : ["dbus-daemon"]
9 | }
10 |
--------------------------------------------------------------------------------
/src/plugins/debug/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.debug",
3 | "name" : "Debug",
4 | "version" : "1.0",
5 | "platform" : "All",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : [],
9 | "enabledbydefault": false
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/files/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.files",
3 | "name" : "Files",
4 | "version" : "1.1",
5 | "platform" : "All",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : [],
9 | "enabledbydefault": true
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/ssh/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.ssh",
3 | "name" : "Secure Shell",
4 | "version" : "1.0",
5 | "platform" : "All",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : [],
9 | "enabledbydefault": true
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/system/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.system",
3 | "name" : "System",
4 | "version" : "1.0",
5 | "platform" : "Linux",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : [],
9 | "enabledbydefault": true
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/terminal/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.terminal",
3 | "name" : "Terminal",
4 | "version" : "1.0",
5 | "platform" : "Linux",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : [],
9 | "enabledbydefault": true
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/websearch/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.websearch",
3 | "name" : "WebSearch",
4 | "version" : "1.0",
5 | "platform" : "All",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : [],
9 | "enabledbydefault": true
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/templateExtension/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.projectid",
3 | "name" : "Template",
4 | "version" : "1.0",
5 | "platform" : "All",
6 | "group" : "Extensions",
7 | "author" : "Author missing",
8 | "dependencies" : [],
9 | "enabledbydefault": false
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/applications/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.applications",
3 | "name" : "Applications",
4 | "version" : "1.1",
5 | "platform" : "Linux",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : ["gksu"],
9 | "enabledbydefault": true
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/calculator/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.calculator",
3 | "name" : "Calculator",
4 | "version" : "1.0",
5 | "platform" : "All",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : ["libmuparser"],
9 | "enabledbydefault": true
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/chromebookmarks/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.chromebookmarks",
3 | "name" : "Chrome bookmarks",
4 | "version" : "1.0",
5 | "platform" : "Linux",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : [],
9 | "enabledbydefault": false
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/virtualbox/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.virtualbox",
3 | "name" : "VirtualBox",
4 | "version" : "1.0",
5 | "platform" : "Linux",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : ["virtualbox"],
9 | "enabledbydefault": false
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/externalextensions/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.externalextensions",
3 | "name" : "External extensions",
4 | "version" : "1.0",
5 | "platform" : "All",
6 | "group" : "Extensions",
7 | "author" : "Manuel Schneider",
8 | "dependencies" : [],
9 | "enabledbydefault": false
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/firefoxbookmarks/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id" : "org.albert.extension.firefoxbookmarks",
3 | "name" : "Firefox bookmarks",
4 | "version" : "1.0",
5 | "platform" : "All",
6 | "group" : "Extensions",
7 | "author" : "Martin Buergmann, Manuel Schneider",
8 | "dependencies" : ["firefox"],
9 | "enabledbydefault": false
10 | }
11 |
--------------------------------------------------------------------------------
/src/plugins/system/system.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/poweroff.svg
4 | resources/reboot.svg
5 | resources/suspend.svg
6 | resources/hibernate.svg
7 | resources/lock.svg
8 | resources/logout.svg
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/plugins/mpris/mpris.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/1485099680_playback-play.svg
4 | resources/1485099683_playback-fast-forward.svg
5 | resources/1485099687_playback-rewind.svg
6 | resources/1485099690_playback-pause.svg
7 | resources/1485100510_primitive-square.svg
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/application/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | project(albert)
4 |
5 | # Define the target
6 | add_executable(${PROJECT_NAME} main.cpp)
7 |
8 | # Link target to libraries
9 | target_link_libraries(${PROJECT_NAME} albertcore)
10 |
11 | # Set the RPATH for the library lookup
12 | set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib/albert")
13 |
14 | # Install target
15 | install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
16 |
17 |
--------------------------------------------------------------------------------
/dist/changes-0.9.txt:
--------------------------------------------------------------------------------
1 | The v0.9 release contains two new extensions, some improvements and bugfixes
2 |
3 | A more detailed list of changes follows below. If you want to know the exact
4 | and complete list of changes, you can check out the sources and check the logs.
5 |
6 | Features:
7 | * New extension: "External extensions", run external scripts
8 | * New extension: "Firefox bookmarks", make firefox bookmarks acessible by albert
9 | * Improvements on the VBox extension
10 | * Several fixes. For details check the git log.
11 |
--------------------------------------------------------------------------------
/src/lib/albert/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/icons/plugin_error.png
4 | resources/icons/plugin_notloaded.png
5 | resources/icons/plugin_ok.png
6 | resources/icons/albert.svg
7 | resources/icons/gear.svg
8 | resources/icons/unknown.svg
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
10 |
11 | - Operating system
12 | - Desktop environment
13 | - Qt version
14 | - Albert version
15 | - How you installed Albert (e.g. ppa:name, aur or from source)
16 | - Steps to reproduce
17 | - Expected behaviour
18 | - Actual behaviour
19 |
--------------------------------------------------------------------------------
/src/plugins/websearch/websearch.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/amazon.svg
4 | resources/default.svg
5 | resources/ebay.svg
6 | resources/google.svg
7 | resources/youtube.svg
8 | resources/octocat.svg
9 | resources/wikipedia.svg
10 | resources/wolfram.png
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/lib/albert/resources/icons/gear.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: cpp
2 | sudo: required
3 | dist: trusty
4 | compiler:
5 | - clang
6 | - gcc
7 |
8 | before_install:
9 | - sudo apt-get install -qq cmake qtbase5-dev libqt5x11extras5-dev libqt5svg5-dev libmuparser-dev
10 |
11 | before_script:
12 | - mkdir build
13 | - cd build
14 | - cmake .. -DCMAKE_BUILD_TYPE=Release
15 |
16 | script:
17 | - make
18 | # Test installation process
19 | - make DESTDIR=/tmp/albertbuild install
20 |
21 | notifications:
22 | irc:
23 | channels:
24 | - "chat.freenode.net#albertlauncher"
25 | on_success: never # default: always
26 | on_failure: always # default: always
27 |
--------------------------------------------------------------------------------
/data/SpotlightTemplate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | TEMPLATE="SpotlightTemplate.qss"
4 |
5 | function makeStyle(){
6 | cat "$1" | sed \
7 | -e "s/%background_color%/$2/g" \
8 | -e "s/%foreground_color%/$3/g" \
9 | -e "s/%button_color%/$4/g" \
10 | -e "s/%scroll_color%/$5/g" \
11 | -e "s/%selection_foreground_color%/$6/g"\
12 | -e "s/%selection_background_color%/$7/g" > "${8}"
13 | }
14 |
15 | #makeStyle bg fg button scroll sel_fg sel_bg output
16 | makeStyle "$TEMPLATE" "fcfcfc" "808080" "e0e0e0" "c0c0c0" "606060" "e0e0e0" "${1}Spotlight.qss"
17 | makeStyle "$TEMPLATE" "030303" "808080" "202020" "404040" "a0a0a0" "202020" "${1}Spotlight Dark.qss"
18 |
--------------------------------------------------------------------------------
/dist/changes-0.10.txt:
--------------------------------------------------------------------------------
1 | The v0.10 release contains a new extension, some features for others and bugfixes
2 |
3 | A more detailed list of changes follows below. If you want to know the exact
4 | and complete list of changes, you can check out the sources and check the logs.
5 |
6 | Features:
7 | * New extension: "MPRIS", control your music player
8 | * completion to expand input by a text set by the selected item.
9 | * Mouse wheel scrollable history in the input box
10 | * New themes
11 | * Terminal extension now indexes aliases too
12 | * Files extension handles paths (input beginning with '/' or '~/')
13 | * App extension allows to ignore the `OnlyShowIn` and `NotShowIn` keys
14 | * New native extension cloning script in pyhton
15 |
--------------------------------------------------------------------------------
/src/plugins/externalextensions/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(externalextensions)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Widgets
9 | )
10 |
11 | qt5_wrap_ui(UI
12 | configwidget.ui
13 | )
14 |
15 | # Define the target
16 | add_library(${PROJECT_NAME} SHARED ${SRC} ${UI})
17 |
18 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
19 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
20 |
21 | # Link target to libraries
22 | target_link_libraries(${PROJECT_NAME}
23 | ${Qt5Widgets_LIBRARIES}
24 | albertcore
25 | xdg
26 | )
27 |
28 | # Install target
29 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
30 |
--------------------------------------------------------------------------------
/src/plugins/templateExtension/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(projectid)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Widgets
9 | )
10 |
11 | set(LIB
12 | ${Qt5Widgets_LIBRARIES}
13 | albertcore
14 | )
15 |
16 | qt5_wrap_ui(UI
17 | configwidget.ui
18 | )
19 |
20 | # Define the target
21 | add_library(${PROJECT_NAME} SHARED ${SRC} ${UI})
22 |
23 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
24 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
25 |
26 | # Link target to libraries
27 | target_link_libraries(${PROJECT_NAME} ${LIB})
28 |
29 | # Install target
30 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
31 |
--------------------------------------------------------------------------------
/src/plugins/mpris/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.11)
2 |
3 | PROJECT(mpris)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Widgets
9 | DBus
10 | )
11 |
12 | qt5_wrap_ui(UI
13 | forms/configwidget.ui
14 | )
15 |
16 | # Define the target
17 | add_library(${PROJECT_NAME} SHARED ${SRC} ${UI})
18 |
19 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
20 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
21 |
22 | # Link target to libraries
23 | target_link_libraries(${PROJECT_NAME}
24 | ${Qt5Widgets_LIBRARIES}
25 | ${Qt5DBus_LIBRARIES}
26 | albertcore
27 | xdg
28 | )
29 |
30 | # Install target
31 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
32 |
--------------------------------------------------------------------------------
/src/plugins/virtualbox/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(virtualbox)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Widgets
9 | Xml
10 | )
11 |
12 | qt5_add_resources(QRC
13 | ${PROJECT_NAME}.qrc
14 | )
15 |
16 | # Define the target
17 | add_library(${PROJECT_NAME} SHARED ${SRC} ${QRC})
18 |
19 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
20 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
21 |
22 | # Link target to libraries
23 | target_link_libraries(${PROJECT_NAME}
24 | ${Qt5Widgets_LIBRARIES}
25 | ${Qt5Xml_LIBRARIES}
26 | albertcore
27 | xdg
28 | )
29 |
30 | # Install target
31 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
32 |
--------------------------------------------------------------------------------
/src/plugins/ssh/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(ssh)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Widgets
9 | )
10 |
11 | qt5_wrap_ui(UI
12 | configwidget.ui
13 | )
14 |
15 | qt5_add_resources(QRC
16 | ${PROJECT_NAME}.qrc
17 | )
18 |
19 | # Define the target
20 | add_library(${PROJECT_NAME} SHARED ${SRC} ${UI} ${QRC})
21 |
22 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
23 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
24 |
25 | # Link target to libraries
26 | target_link_libraries(${PROJECT_NAME}
27 | ${Qt5Widgets_LIBRARIES}
28 | albertcore
29 | xdg
30 | )
31 |
32 | # Install target
33 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
34 |
--------------------------------------------------------------------------------
/src/plugins/debug/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(debug)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Widgets
9 | )
10 |
11 | set(LIB
12 | ${Qt5Widgets_LIBRARIES}
13 | albertcore
14 | )
15 |
16 | qt5_add_resources(QRC
17 | ${PROJECT_NAME}.qrc
18 | )
19 |
20 | qt5_wrap_ui(UI configwidget.ui)
21 |
22 | # Define the target
23 | add_library(${PROJECT_NAME} SHARED ${SRC} ${UI} ${QRC})
24 |
25 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
26 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
27 |
28 | # Link target to libraries
29 | target_link_libraries(${PROJECT_NAME} ${LIB})
30 |
31 | # Install target
32 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
33 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Albert [](https://travis-ci.org/albertlauncher/albert)
2 |
3 | [](http://webchat.freenode.net/?channels=%23albertlauncher)
4 | [](https://telegram.me/albertlauncher)
5 | [](https://telegram.me/albert_launcher_community)
6 |
7 | Access everything with virtually zero effort. Run applications, open files or their paths, open bookmarks in your browser, search the web, calculate things and a lot more. See the [docs](https://albertlauncher.github.io/docs) for more information.
8 |
--------------------------------------------------------------------------------
/src/plugins/system/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(system)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Widgets
9 | )
10 |
11 | qt5_wrap_ui(UI
12 | configwidget.ui
13 | )
14 |
15 | qt5_add_resources(QRC
16 | ${PROJECT_NAME}.qrc
17 | )
18 |
19 | # Define the target
20 | add_library(${PROJECT_NAME} SHARED ${SRC} ${UI} ${QRC})
21 |
22 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
23 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
24 |
25 | # Link target to libraries
26 | target_link_libraries(${PROJECT_NAME}
27 | ${Qt5Widgets_LIBRARIES}
28 | albertcore
29 | xdg
30 | )
31 |
32 | # Install target
33 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
34 |
--------------------------------------------------------------------------------
/src/plugins/websearch/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(websearch)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Widgets
9 | )
10 |
11 | qt5_wrap_ui(UI
12 | configwidget.ui
13 | )
14 |
15 | qt5_add_resources(QRC
16 | ${PROJECT_NAME}.qrc
17 | )
18 |
19 | # Define the target
20 | add_library(${PROJECT_NAME} SHARED ${SRC} ${UI} ${QRC})
21 |
22 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
23 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
24 |
25 | # Link target to libraries
26 | target_link_libraries(${PROJECT_NAME}
27 | ${Qt5Widgets_LIBRARIES}
28 | albertcore
29 | xdg
30 | )
31 |
32 | # Install target
33 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
34 |
--------------------------------------------------------------------------------
/src/plugins/calculator/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(calculator)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS Widgets)
8 |
9 | qt5_add_resources(QRC
10 | ${PROJECT_NAME}.qrc
11 | )
12 |
13 | qt5_wrap_ui(UI
14 | configwidget.ui
15 | )
16 |
17 | # Define the target
18 | add_library(${PROJECT_NAME} SHARED ${SRC} ${QRC} ${UI})
19 |
20 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
21 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
22 |
23 | # Link target to libraries
24 | target_link_libraries(${PROJECT_NAME}
25 | ${Qt5Widgets_LIBRARIES}
26 | albertcore
27 | muparser
28 | xdg
29 | )
30 |
31 | # Install target
32 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
33 |
--------------------------------------------------------------------------------
/src/plugins/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Do not export symbols by default
2 | set(CMAKE_CXX_VISIBILITY_PRESET hidden)
3 | set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
4 |
5 | # Set the RPATH for the library lookup
6 | set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib/albert")
7 |
8 | add_subdirectory(applications)
9 | add_subdirectory(calculator)
10 | add_subdirectory(chromebookmarks)
11 | add_subdirectory(externalextensions)
12 | add_subdirectory(files)
13 | add_subdirectory(firefoxbookmarks)
14 | add_subdirectory(ssh)
15 | add_subdirectory(mpris)
16 | add_subdirectory(system)
17 | add_subdirectory(terminal)
18 | add_subdirectory(virtualbox)
19 | add_subdirectory(websearch)
20 |
21 | # Non-release plugins
22 | if(${BUILD_DEBUG_EXTENSIONS})
23 | add_subdirectory(templateExtension)
24 | add_subdirectory(debug)
25 | endif(${BUILD_DEBUG_EXTENSIONS})
26 |
27 |
--------------------------------------------------------------------------------
/src/plugins/terminal/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(terminal)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Concurrent
9 | Widgets
10 | )
11 |
12 | qt5_add_resources(QRC
13 | ${PROJECT_NAME}.qrc
14 | )
15 |
16 | qt5_wrap_ui(UI
17 | configwidget.ui
18 | )
19 |
20 | # Define the target
21 | add_library(${PROJECT_NAME} SHARED ${SRC} ${QRC} ${UI})
22 |
23 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
24 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
25 |
26 | # Link target to libraries
27 | target_link_libraries(${PROJECT_NAME}
28 | ${Qt5Widgets_LIBRARIES}
29 | ${Qt5Concurrent_LIBRARIES}
30 | albertcore
31 | xdg
32 | )
33 |
34 | # Install target
35 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
36 |
--------------------------------------------------------------------------------
/src/plugins/terminal/src/configwidget.cpp:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include "configwidget.h"
18 |
--------------------------------------------------------------------------------
/src/plugins/applications/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(applications)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Concurrent
9 | Widgets
10 | )
11 |
12 | qt5_add_resources(QRC
13 | ${PROJECT_NAME}.qrc
14 | )
15 |
16 | qt5_wrap_ui(UI
17 | configwidget.ui
18 | )
19 |
20 | # Define the target
21 | add_library(${PROJECT_NAME} SHARED ${SRC} ${QRC} ${UI})
22 |
23 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
24 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
25 |
26 | # Link target to libraries
27 | target_link_libraries(${PROJECT_NAME}
28 | ${Qt5Concurrent_LIBRARIES}
29 | ${Qt5Widgets_LIBRARIES}
30 | albertcore
31 | xdg
32 | )
33 |
34 | # Install target
35 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
36 |
37 |
--------------------------------------------------------------------------------
/src/plugins/chromebookmarks/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(chromebookmarks)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Concurrent
9 | Widgets
10 | )
11 |
12 | qt5_wrap_ui(UI
13 | configwidget.ui
14 | )
15 |
16 | qt5_add_resources(QRC
17 | ${PROJECT_NAME}.qrc
18 | )
19 |
20 | # Define the target
21 | add_library(${PROJECT_NAME} SHARED ${SRC} ${UI} ${QRC})
22 |
23 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
24 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
25 |
26 | # Link target to libraries
27 | target_link_libraries(${PROJECT_NAME}
28 | ${Qt5Concurrent_LIBRARIES}
29 | ${Qt5Widgets_LIBRARIES}
30 | albertcore
31 | xdg
32 | )
33 |
34 | # Install target
35 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
36 |
--------------------------------------------------------------------------------
/src/plugins/files/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(files)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Concurrent
9 | Widgets
10 | )
11 |
12 | qt5_add_resources(QRC
13 | ${PROJECT_NAME}.qrc
14 | )
15 |
16 | qt5_wrap_ui(UI
17 | forms/configwidget.ui
18 | forms/mimetypedialog.ui
19 | )
20 |
21 | # Define the target
22 | add_library(${PROJECT_NAME} SHARED ${SRC} ${QRC} ${UI})
23 |
24 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
25 | target_include_directories(${PROJECT_NAME} PRIVATE src/ forms/)
26 |
27 | # Link target to libraries
28 | target_link_libraries(${PROJECT_NAME}
29 | ${Qt5Concurrent_LIBRARIES}
30 | ${Qt5Widgets_LIBRARIES}
31 | albertcore
32 | xdg
33 | )
34 |
35 | # Install target
36 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
37 |
--------------------------------------------------------------------------------
/src/plugins/firefoxbookmarks/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | PROJECT(firefoxbookmarks)
4 |
5 | FILE(GLOB_RECURSE SRC src/* metadata.json)
6 |
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Concurrent
9 | Sql
10 | Widgets
11 | )
12 |
13 | qt5_wrap_ui(UI
14 | configwidget.ui
15 | )
16 |
17 | qt5_add_resources(QRC
18 | ${PROJECT_NAME}.qrc
19 | )
20 |
21 | # Define the target
22 | add_library(${PROJECT_NAME} SHARED ${SRC} ${UI} ${QRC})
23 |
24 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
25 | target_include_directories(${PROJECT_NAME} PRIVATE src/)
26 |
27 | # Link target to libraries
28 | target_link_libraries(${PROJECT_NAME}
29 | ${Qt5Concurrent_LIBRARIES}
30 | ${Qt5Sql_LIBRARIES}
31 | ${Qt5Widgets_LIBRARIES}
32 | albertcore
33 | xdg
34 | )
35 |
36 | # Install target
37 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert/plugins)
38 |
--------------------------------------------------------------------------------
/src/application/main.cpp:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include "albert.h"
18 |
19 | int main(int argc, char **argv) {
20 | return Albert::run(argc, argv);
21 | }
22 |
--------------------------------------------------------------------------------
/src/lib/xdg/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | project(xdg)
4 | add_definitions(-DXDG) #export branch
5 |
6 | # Get Qt libraries
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS
8 | Core
9 | Gui
10 | )
11 |
12 | # List files in the source directory
13 | FILE(GLOB SRC src/* include/*)
14 |
15 | # Do not export symbols by default
16 | set(CMAKE_CXX_VISIBILITY_PRESET hidden)
17 | set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
18 |
19 | # Define the target
20 | add_library(${PROJECT_NAME} SHARED ${SRC})
21 |
22 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
23 | target_include_directories(${PROJECT_NAME}
24 | PUBLIC include/
25 | PRIVATE src/
26 | )
27 |
28 | # Link target to libraries
29 | target_link_libraries(${PROJECT_NAME}
30 | PRIVATE
31 | ${Qt5Core_LIBRARIES}
32 | ${Qt5Gui_LIBRARIES}
33 | )
34 |
35 | # Install target
36 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert)
37 |
--------------------------------------------------------------------------------
/src/lib/albert/include/albert.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include "core_globals.h"
19 |
20 | namespace Albert {
21 | int EXPORT_CORE run(int argc, char **argv);
22 | }
23 |
24 |
25 |
--------------------------------------------------------------------------------
/data/ArcTemplate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | TEMPLATE="ArcTemplate.qss"
4 |
5 | function makeStyle(){
6 | cat "$1" | sed \
7 | -e "s/%background_color%/$2/g" \
8 | -e "s/%foreground_color%/$3/g" \
9 | -e "s/%inputline_color%/$4/g" \
10 | -e "s/%border_color%/$5/g" \
11 | -e "s/%button_color%/$6/g" \
12 | -e "s/%scroll_color%/$7/g" \
13 | -e "s/%selection_background_color%/$8/g" \
14 | -e "s/%selection_border_color%/$9/g" > "${10}"
15 | }
16 |
17 | #makeStyle bg fg input border button scrollbar sel_bg sel_border output
18 | makeStyle "$TEMPLATE" "e7e8eb" "727A8F" "fdfdfd" "CFD6E6" "ffffff" "b8babf" "95c4fb" "cfd6e6" "themes/Arc Blue.qss"
19 | makeStyle "$TEMPLATE" "e7e8eb" "727A8F" "fdfdfd" "CFD6E6" "ffffff" "b8babf" "F5F6F7" "4084D6" "themes/Arc Grey.qss"
20 | makeStyle "$TEMPLATE" "383C4A" "AFB8C5" "404552" "21252B" "ffffff" "b8babf" "4084D6" "4084D6" "themes/Arc Dark Blue.qss"
21 | makeStyle "$TEMPLATE" "383C4A" "AFB8C5" "404552" "21252B" "ffffff" "b8babf" "404552" "2B2E39" "themes/Arc Dark Grey.qss"
--------------------------------------------------------------------------------
/dist/changes-0.8.txt:
--------------------------------------------------------------------------------
1 | The v0.8 release contains a new extension, some features for others and bugfixes
2 |
3 | A more detailed list of changes follows below. If you want to know the exact
4 | and complete list of changes, you can check out the sources and check the logs.
5 |
6 | Features:
7 | * Triggers: Extensions can request to be the sole extension to be run
8 | * Websearch: Order of fallbacks are now movable
9 | * New extension: "System" , control your systems state
10 |
11 | Fixes:
12 | * Current screen. Remember window position. Closes #8
13 | * Please allow fuzzy matching of spaces to underscores #40:
14 | * Remember position if not centered. Closes #33
15 | * Terminate application gracefully on SIGTERM. Closes #65
16 | * Fix fuzzy. Closes #59
17 | * Index text files too. Closes #60
18 | * Drop unneccesary Qt5.5 dependencies. Closes #58
19 | * Check if $XDG_DATA_DIRS exist. Closes #63
20 | * Move after showing widget. Closes #66
21 | * Terminate application gracefully on SIGTERM. Closes #12
22 | * Escape Exec key string in dektop file. Closes #75.
23 |
--------------------------------------------------------------------------------
/src/plugins/calculator/configwidget.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | Calculator::ConfigWidget
4 |
5 |
6 |
7 | 0
8 | 0
9 | 800
10 | 600
11 |
12 |
13 |
14 |
15 |
16 |
17 | Show group separators
18 |
19 |
20 |
21 |
22 |
23 |
24 | Qt::Vertical
25 |
26 |
27 |
28 | 20
29 | 40
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/plugins/calculator/src/configwidget.cpp:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include "configwidget.h"
18 |
19 | /** ***************************************************************************/
20 | Calculator::ConfigWidget::ConfigWidget(QWidget *parent) : QWidget(parent) {
21 | ui.setupUi(this);
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/src/plugins/applications/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace Applications
22 | {
23 | class ConfigWidget final : public QWidget
24 | {
25 | Q_OBJECT
26 | public:
27 | explicit ConfigWidget(QWidget *parent = 0);
28 | Ui::ConfigWidget ui;
29 | };
30 | }
31 |
--------------------------------------------------------------------------------
/src/plugins/calculator/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace Calculator {
22 |
23 | class ConfigWidget final : public QWidget
24 | {
25 | Q_OBJECT
26 | public:
27 | explicit ConfigWidget(QWidget *parent = 0);
28 | Ui::ConfigWidget ui;
29 | };
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/src/lib/albert/include/shlex.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include
20 | #include "core_globals.h"
21 |
22 | namespace Util {
23 |
24 | class EXPORT_CORE ShellLexer
25 | {
26 | public:
27 | static QString quote(QString input);
28 | static QStringList split(const QString &input);
29 |
30 | };
31 |
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/src/plugins/system/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace System {
22 | class ConfigWidget final : public QWidget
23 | {
24 | Q_OBJECT
25 | public:
26 | explicit ConfigWidget(QWidget *parent = 0);
27 | ~ConfigWidget();
28 | Ui::ConfigWidget ui;
29 | };
30 | }
31 |
--------------------------------------------------------------------------------
/src/plugins/ssh/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2015 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace Ssh {
22 |
23 | class ConfigWidget final : public QWidget
24 | {
25 | Q_OBJECT
26 | public:
27 | explicit ConfigWidget(QWidget *parent = 0);
28 | ~ConfigWidget();
29 | Ui::ConfigWidget ui;
30 | };
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/plugins/mpris/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert extension mpris - a mpris interface plugin for albert
2 | // Copyright (C) 2016-2017 Martin Buergmann
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace MPRIS {
22 | class ConfigWidget final : public QWidget
23 | {
24 | Q_OBJECT
25 | public:
26 | explicit ConfigWidget(QWidget *parent = 0);
27 | ~ConfigWidget();
28 | Ui::ConfigWidget ui;
29 | };
30 | }
31 |
--------------------------------------------------------------------------------
/src/lib/albert/src/albert/trayicon.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include
20 | #include
21 |
22 | class TrayIcon : public QSystemTrayIcon
23 | {
24 | Q_OBJECT
25 |
26 | public:
27 |
28 | TrayIcon();
29 |
30 | void setVisible(bool = true);
31 |
32 | signals:
33 |
34 | void stateChanged(bool);
35 | };
36 |
--------------------------------------------------------------------------------
/src/plugins/firefoxbookmarks/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2016-2017 Martin Buergmann
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace FirefoxBookmarks {
22 | class ConfigWidget final : public QWidget
23 | {
24 | Q_OBJECT
25 | public:
26 | explicit ConfigWidget(QWidget *parent = 0);
27 | ~ConfigWidget();
28 | Ui::ConfigWidget ui;
29 | };
30 | }
31 |
--------------------------------------------------------------------------------
/src/plugins/templateExtension/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2015 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace ProjectNamespace {
22 | class ConfigWidget final : public QWidget
23 | {
24 | Q_OBJECT
25 | public:
26 | explicit ConfigWidget(QWidget *parent = 0);
27 | ~ConfigWidget();
28 | Ui::ConfigWidget ui;
29 | };
30 | }
31 |
--------------------------------------------------------------------------------
/src/plugins/externalextensions/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2015 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace ExternalExtensions {
22 |
23 | class ConfigWidget final : public QWidget
24 | {
25 | Q_OBJECT
26 | public:
27 | explicit ConfigWidget(QWidget *parent = 0);
28 | ~ConfigWidget();
29 | Ui::ConfigWidget ui;
30 | };
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/plugins/terminal/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace Terminal {
22 |
23 | class ConfigWidget final : public QWidget
24 | {
25 | Q_OBJECT
26 |
27 | public:
28 |
29 | ConfigWidget(QWidget *parent) : QWidget(parent) {
30 | ui.setupUi(this);
31 | }
32 |
33 | Ui::ConfigWidget ui;
34 |
35 | };
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/src/plugins/ssh/src/configwidget.cpp:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2015 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include "configwidget.h"
18 |
19 | /** ***************************************************************************/
20 | Ssh::ConfigWidget::ConfigWidget(QWidget *parent) : QWidget(parent) {
21 | ui.setupUi(this);
22 | }
23 |
24 |
25 |
26 | /** ***************************************************************************/
27 | Ssh::ConfigWidget::~ConfigWidget() {
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/plugins/system/src/configwidget.cpp:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include "configwidget.h"
18 |
19 | /** ***************************************************************************/
20 | System::ConfigWidget::ConfigWidget(QWidget *parent) : QWidget(parent) {
21 | ui.setupUi(this);
22 | }
23 |
24 |
25 |
26 | /** ***************************************************************************/
27 | System::ConfigWidget::~ConfigWidget() {
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/dist/changes-0.7.txt:
--------------------------------------------------------------------------------
1 | The v0.7 release contains the new plugin based backend and bugfixes.
2 |
3 | A more detailed list of changes follows below. If you want to know the exact
4 | and complete list of changes, you can check out the sources and check the logs.
5 |
6 | Core:
7 | * Fix fuzzy
8 | * New directory structure
9 | * Ignore folders .albertignore
10 | * Actions. (tab switches to alternative actions, if any)
11 |
12 | Applications extension:
13 | * Port to plugin infrastucture
14 | * Fix: AppIndex needs rebuilding every time. Closes #45
15 | * Quicklist actions
16 |
17 | Files extension:
18 | * Port to plugin infrastucture
19 | * Filter indexed files by type
20 | * Let the index be build in background thread
21 | * Follow Symlinks
22 | * Fix: Scan interval overrun bug
23 | * Fix: Can't open files with spaces in the filepath. Closes #35
24 | * Detect link loops
25 |
26 | Websearch extension:
27 | * Port to plugin infrastucture
28 |
29 | Bookmarks extension:
30 | * Port to plugin infrastucture
31 | * Fix: Path to bookmarks file not intialized correctly. Closes #44
32 |
33 | Calculator extension:
34 | * Port to plugin infrastucture
35 | * Fix: Internationalisation in calculator module. Closes #46
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/plugins/mpris/src/configwidget.cpp:
--------------------------------------------------------------------------------
1 | // albert extension mpris - a mpris interface plugin for albert
2 | // Copyright (C) 2016-2017 Martin Buergmann
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include "configwidget.h"
18 |
19 | /** ***************************************************************************/
20 | MPRIS::ConfigWidget::ConfigWidget(QWidget *parent) : QWidget(parent) {
21 | ui.setupUi(this);
22 | }
23 |
24 |
25 |
26 | /** ***************************************************************************/
27 | MPRIS::ConfigWidget::~ConfigWidget() {
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/plugins/debug/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 | #include "main.h"
21 |
22 | namespace Debug
23 | {
24 | class ConfigWidget final : public QWidget
25 | {
26 | Q_OBJECT
27 |
28 | public:
29 |
30 | explicit ConfigWidget(Extension * extension_, QWidget * parent = 0);
31 |
32 | private:
33 |
34 | Ui::ConfigWidget ui;
35 | Extension * extension_;
36 |
37 | };
38 | }
39 |
--------------------------------------------------------------------------------
/src/plugins/firefoxbookmarks/src/configwidget.cpp:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2016-2017 Martin Buergmann
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include "configwidget.h"
18 |
19 | /** ***************************************************************************/
20 | FirefoxBookmarks::ConfigWidget::ConfigWidget(QWidget *parent) : QWidget(parent) {
21 | ui.setupUi(this);
22 | }
23 |
24 |
25 |
26 | /** ***************************************************************************/
27 | FirefoxBookmarks::ConfigWidget::~ConfigWidget() {
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/plugins/templateExtension/src/configwidget.cpp:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2015 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include "configwidget.h"
18 |
19 | /** ***************************************************************************/
20 | ProjectNamespace::ConfigWidget::ConfigWidget(QWidget *parent) : QWidget(parent) {
21 | ui.setupUi(this);
22 | }
23 |
24 |
25 |
26 | /** ***************************************************************************/
27 | ProjectNamespace::ConfigWidget::~ConfigWidget() {
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/plugins/create_plugin.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | usage(){
4 | echo "Usage:"
5 | echo "$0 "
6 | }
7 |
8 | if [ ! $# -eq 3 ]; then
9 | usage
10 | exit 1
11 | fi
12 |
13 | ID="$1"
14 | NAMESPACE="$2"
15 | PRETTY="$3"
16 |
17 | if [[ ! "$ID" =~ ^[a-z0-9]+$ ]]; then
18 | echo -e "\e[31mid has to be alphanumeric and all lowercase\e[0m"
19 | usage
20 | exit 1
21 | fi
22 |
23 | if [[ ! "$NAMESPACE" =~ ^[A-Za-z][A-Za-z0-9]+$ ]]; then
24 | echo -e "\e[31mNamespace id has to be alphanumeric and must not begin with a number\e[0m"
25 | usage
26 | exit 1
27 | fi
28 |
29 |
30 | echo "Clone template"
31 | cp -r "templateExtension" "$ID"
32 |
33 | echo "Adjust metadata.json"
34 | sed -e "s/template/${ID}/" -e "s/Template/${PRETTY}/" "templateExtension/metadata.json" > "${ID}/metadata.json"
35 |
36 | echo "Adjust CMakeListss.txt"
37 | sed -e "s/template/${ID}/" "templateExtension/CMakeLists.txt" > "${ID}/CMakeLists.txt"
38 |
39 | echo "Adjust namespaces"
40 |
41 |
42 | for FILE in $( ls templateExtension | grep -e ".cpp$" -e ".h$" -e ".ui$" ); do
43 | sed \
44 | -e "s/namespace Template/namespace ${NAMESPACE}/" \
45 | -e "s/Template::/${NAMESPACE}::/" \
46 | "templateExtension/${FILE}" > "${ID}/${FILE}"
47 | done
48 |
--------------------------------------------------------------------------------
/src/plugins/mpris/src/player.h:
--------------------------------------------------------------------------------
1 | // albert extension mpris - a mpris interface plugin for albert
2 | // Copyright (C) 2016-2017 Martin Buergmann
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 |
19 | #include
20 |
21 | namespace MPRIS {
22 |
23 | class Player
24 | {
25 | public:
26 | Player(QString& busid);
27 | const QString& getName() const { return name_; }
28 | const QString& getBusId() const { return busid_; }
29 | bool canRaise() const { return canRaise_; }
30 |
31 | private:
32 | QString busid_, name_;
33 | bool canRaise_;
34 | };
35 |
36 | } // namespace MPRIS
37 |
38 |
--------------------------------------------------------------------------------
/src/plugins/chromebookmarks/src/configwidget.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "ui_configwidget.h"
20 |
21 | namespace ChromeBookmarks {
22 |
23 | class ConfigWidget final : public QWidget
24 | {
25 | Q_OBJECT
26 | public:
27 | explicit ConfigWidget(QWidget *parent = 0);
28 | ~ConfigWidget();
29 | Ui::ConfigWidget ui;
30 |
31 | private:
32 | void onButton_EditPath();
33 |
34 | signals:
35 | void requestEditPath(const QString&);
36 | };
37 | }
38 |
--------------------------------------------------------------------------------
/src/lib/albert/include/action.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "core_globals.h"
20 |
21 | namespace Core {
22 |
23 | /**
24 | * @brief The action interface
25 | * A base class for actions (and items)
26 | */
27 | class EXPORT_CORE Action
28 | {
29 | public:
30 |
31 | virtual ~Action() {}
32 |
33 | /** A description */
34 | virtual QString text() const = 0;
35 |
36 | /** Activates the item */
37 | virtual void activate() = 0;
38 | };
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/src/lib/albert/src/standardobjects/standardindexitem.cpp:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include "standardindexitem.h"
18 | using std::vector;
19 | using namespace Core;
20 |
21 | StandardIndexItem::StandardIndexItem(const QString &id) : StandardItem(id) {
22 |
23 | }
24 |
25 | std::vector StandardIndexItem::indexKeywords() const {
26 | return indexKeywords_;
27 | }
28 |
29 | void StandardIndexItem::setIndexKeywords(vector &&indexKeywords) {
30 | indexKeywords_ = indexKeywords;
31 | }
32 |
--------------------------------------------------------------------------------
/src/lib/xdg/include/export_xdg.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 |
19 | #if defined(_MSC_VER)
20 | #define EXPORT __declspec(dllexport)
21 | #define IMPORT __declspec(dllimport)
22 | #elif defined(__GNUC__)
23 | #define EXPORT __attribute__((visibility("default")))
24 | #define IMPORT
25 | #else
26 | #define EXPORT
27 | #define IMPORT
28 | #pragma warning Unknown dynamic link import/export semantics.
29 | #endif
30 |
31 | #ifdef XDG
32 | #define EXPORT_XDG EXPORT
33 | #else
34 | #define EXPORT_XDG IMPORT
35 | #endif
36 |
--------------------------------------------------------------------------------
/src/plugins/virtualbox/src/vm.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2016-2017 Martin Buergmann
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 |
19 | #include
20 | #include "vmitem.h"
21 |
22 | namespace VirtualBox {
23 |
24 | class VM
25 | {
26 | public:
27 | VM(const QString vboxFileName);
28 | VMItem* produceItem() const;
29 | bool startsWith(QString other) const;
30 | const QString &uuid() const { return uuid_; }
31 | void probeState() const;
32 |
33 | private:
34 | QString name_;
35 | QString uuid_;
36 | mutable QString state_;
37 | };
38 |
39 | } // namespace VirtualBox
40 |
41 |
--------------------------------------------------------------------------------
/src/lib/albert/include/fallbackprovider.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include
20 | #include
21 | #include "core_globals.h"
22 |
23 | namespace Core {
24 |
25 | class Item;
26 |
27 | class EXPORT_CORE FallbackProvider
28 | {
29 | public:
30 |
31 | virtual ~FallbackProvider() {}
32 |
33 | /**
34 | * @brief Fallbacks
35 | * This items show up if a query yields no results
36 | */
37 | virtual std::vector> fallbacks(const QString &) = 0;
38 |
39 | };
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/src/lib/albert/src/albert/mainwindow/history.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 |
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 |
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 |
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include
20 |
21 | class History final : public QObject
22 | {
23 | Q_OBJECT
24 |
25 | public:
26 |
27 | History(QObject *parent = 0);
28 |
29 | Q_INVOKABLE void add(QString str);
30 | Q_INVOKABLE QString next();
31 | Q_INVOKABLE QString prev();
32 | Q_INVOKABLE void resetIterator();
33 |
34 | private:
35 |
36 | void updateHistory();
37 |
38 | QStringList lines_;
39 | int currentLine_;
40 |
41 | };
42 |
43 |
--------------------------------------------------------------------------------
/src/plugins/applications/src/configwidget.cpp:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #include
18 | #include "configwidget.h"
19 |
20 | /** ***************************************************************************/
21 | Applications::ConfigWidget::ConfigWidget(QWidget *parent) : QWidget(parent) {
22 | ui.setupUi(this);
23 |
24 | // Show the app dirs in the label
25 | QStringList standardPaths = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
26 | ui.label->setText(ui.label->text().replace("__XDG_DATA_DIRS__", standardPaths.join(", ")));
27 | }
28 |
--------------------------------------------------------------------------------
/src/lib/globalshortcut/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.12)
2 |
3 | project(globalshortcut)
4 | add_definitions(-DGLOBALSHORTCUT) #export branch
5 |
6 | # Get Qt libraries
7 | find_package(Qt5 5.2.0 REQUIRED COMPONENTS Gui)
8 |
9 | # List files in the source directory
10 | set(SRC
11 | include/export_globalshortcut.h
12 | include/hotkeymanager.h
13 | src/hotkeymanager.cpp
14 | )
15 |
16 | set(LIB
17 | ${Qt5Gui_LIBRARIES}
18 | )
19 |
20 | # Do platform specific pre target stuff
21 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
22 |
23 | find_package(Qt5 5.2.0 REQUIRED X11Extras)
24 |
25 | set(SRC ${SRC} src/hotkeymanager_x11.cpp)
26 | set(LIB ${LIB} ${Qt5X11Extras_LIBRARIES} X11)
27 |
28 | elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
29 |
30 | set(SRC ${SRC} src/hotkey/hotkeymanager_win.cpp)
31 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUNICODE")
32 |
33 | endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
34 |
35 | # Define the target
36 | add_library(${PROJECT_NAME} SHARED ${SRC})
37 |
38 | # Set INCLUDE_DIRS and INTERFACE_INCLUDE_DIRS
39 | target_include_directories(${PROJECT_NAME}
40 | PUBLIC include
41 | PRIVATE src
42 | )
43 |
44 | # Link target to libraries
45 | target_link_libraries(${PROJECT_NAME} PRIVATE ${LIB})
46 |
47 | # Install target
48 | install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/albert)
49 |
--------------------------------------------------------------------------------
/src/lib/globalshortcut/include/export_globalshortcut.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 |
19 | #if defined(_MSC_VER)
20 | #define EXPORT __declspec(dllexport)
21 | #define IMPORT __declspec(dllimport)
22 | #elif defined(__GNUC__)
23 | #define EXPORT __attribute__((visibility("default")))
24 | #define IMPORT
25 | #else
26 | #define EXPORT
27 | #define IMPORT
28 | #pragma warning Unknown dynamic link import/export semantics.
29 | #endif
30 |
31 | #ifdef GLOBALSHORTCUT
32 | #define EXPORT_GLOBALSHORTCUT EXPORT
33 | #else
34 | #define EXPORT_GLOBALSHORTCUT IMPORT
35 | #endif
36 |
--------------------------------------------------------------------------------
/src/lib/albert/src/offlineindex/indeximpl.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include
20 | #include
21 |
22 | namespace Core {
23 |
24 | class Indexable;
25 |
26 | class IndexImpl
27 | {
28 | public:
29 | virtual ~IndexImpl() {}
30 | virtual void add(std::shared_ptr idxble) = 0;
31 | virtual void clear() = 0;
32 | virtual std::vector> search(const QString &req) const = 0;
33 |
34 | protected:
35 | static constexpr const char* SEPARATOR_REGEX = "[!?<>\"'=+*.:,;\\\\\\/ _\\-]+";
36 |
37 | };
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/src/lib/albert/src/albert/mainwindow/proposallist.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include "resizinglist.h"
20 | #include
21 |
22 | class ProposalList final : public ResizingList
23 | {
24 | Q_OBJECT
25 | class ItemDelegate;
26 |
27 | public:
28 |
29 | ProposalList(QWidget *parent = 0);
30 |
31 | bool displayIcons() const;
32 | void setDisplayIcons(bool value);
33 |
34 | private:
35 |
36 | bool eventFilter(QObject*, QEvent *event) override;
37 | void showEvent(QShowEvent *event) override;
38 |
39 | ItemDelegate *delegate_;
40 | };
41 |
--------------------------------------------------------------------------------
/src/lib/albert/src/albert/matchcompare.h:
--------------------------------------------------------------------------------
1 | // albert - a simple application launcher for linux
2 | // Copyright (C) 2014-2017 Manuel Schneider
3 | //
4 | // This program is free software: you can redistribute it and/or modify
5 | // it under the terms of the GNU General Public License as published by
6 | // the Free Software Foundation, either version 3 of the License, or
7 | // (at your option) any later version.
8 | //
9 | // This program is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | // GNU General Public License for more details.
13 | //
14 | // You should have received a copy of the GNU General Public License
15 | // along with this program. If not, see .
16 |
17 | #pragma once
18 | #include
19 | #include