1
0
mirror of https://github.com/lxsang/meta-rpi-diya.git synced 2024-10-03 05:56:39 +02:00

add tofi + icons

This commit is contained in:
DanyLE 2023-07-27 12:40:46 +02:00
parent ff4f319acd
commit 991a5393d4
7 changed files with 446 additions and 13 deletions

View File

@ -50,7 +50,7 @@ IMAGE_INSTALL:append = "libcurl \
rsync \ rsync \
coreutils \ coreutils \
wayland wayland-protocols \ wayland wayland-protocols \
labwc foot swaybg swayidle swaylock wlr-randr wlopm sfwbar \ labwc foot swaybg swayidle swaylock wlr-randr wlopm sfwbar tofi \
gdbserver \ gdbserver \
" "

View File

@ -0,0 +1,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Transformed by: SVG Repo Mixer Tools -->
<svg fill="#5651a4" height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve" stroke="#5651a4">
<g id="SVGRepo_bgCarrier" stroke-width="0"/>
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
<g id="SVGRepo_iconCarrier"> <path d="M15.243,19.194c0.553,0,1-0.447,1-1s-0.447-1-1-1h-3.77c-0.553,0-1,0.447-1,1v21.951c0,0.553,0.447,1,1,1h21.951 c0.553,0,1-0.447,1-1v-3.765c0-0.553-0.447-1-1-1s-1,0.447-1,1v2.765H12.474V19.194H15.243z"/> <path d="M41.474,9.146H19.522c-0.553,0-1,0.447-1,1v21.951c0,0.553,0.447,1,1,1h21.951c0.553,0,1-0.447,1-1V10.146 C42.474,9.593,42.026,9.146,41.474,9.146z M40.474,31.097H20.522V11.146h19.951V31.097z"/> </g>
</svg>

After

Width:  |  Height:  |  Size: 1011 B

View File

@ -23,6 +23,54 @@ function("ToggleMaximize") {
[Maximized] UnMaximize [Maximized] UnMaximize
} }
function("ShowDesktopSaveFocus") {
[Focused] UserState "2:on"
[!Focused] UserState "2:off"
}
function("ShowdesktopMinimize") {
[!Minimized] UserState "on"
[Minimized] UserState "off"
[!Minimized] Minimize
}
function("ShowDesktopRestore") {
[UserState] UnMinimize
}
function("ShowDesktopRestoreFocus") {
[UserState2] Focus
}
function("ShowDesktopCheckWindow") {
[!Minimized] UserState "target","2:on"
}
function("ShowDesktopReminimize")
{
[!Minimized] UserState "on"
[!Minimized] Minimize
}
function("ShowDesktopUnminimized") {
[UserState2 | Children] Function "ShowDesktopSaveFocus"
[UserState2 | Children] Function "ShowDesktopReminimize"
[!UserState2 | Children] Function "ShowDesktopRestore"
[!UserState2 | Children] Function "ShowDesktopRestoreFocus"
[!UserState2] UserState "off"
[UserState2] UserState "on"
}
function("ShowDesktop") {
[!UserState | Children] Function "ShowDesktopSaveFocus"
[!UserState | Children] Function "ShowDesktopMinimize"
[UserState] UserState "2:off"
[UserState| Children ] Function "ShowDesktopCheckWindow"
[UserState] Function "target","ShowDesktopUnminimized"
[!UserState] UserState "on"
}
menu("winops") { menu("winops") {
item("focus", Focus ); item("focus", Focus );
item("close", Close ); item("close", Close );
@ -33,16 +81,30 @@ menu("winops") {
# Panel layout # Panel layout
layout { layout {
button {
style = "launcher"
value = "/usr/share/icons/hicolor/scalable/apps/tofi.svg"
tooltip = "Quick menu"
action = Exec "bash -c \"`tofi-drun`\""
}
button {
value = "/usr/share/icons/hicolor/scalable/actions/show-desktop.svg"
style = "launcher"
tooltip = "Show Desktop"
action = Function "target", "ShowDesktop"
}
button { button {
style = "launcher" style = "launcher"
value = $Term value = $Term
tooltip = "Terminal"
action = Exec $Term action = Exec $Term
} }
taskbar "target" {
taskbar {
rows = 1 rows = 1
css = "* { -GtkWidget-hexpand: false; }" # stretch horizontally css = "* { -GtkWidget-hexpand: false; }" # stretch horizontally
icons = true icons = true
group = false
sort = false
labels = true labels = true
action[3] = Menu "winops" action[3] = Menu "winops"
action[2] = Close action[2] = Close
@ -55,14 +117,14 @@ layout {
#CSS #CSS
button#launcher, button#module{ button#launcher, button#module{
padding: 0px 5px 0px 5px; padding: 0px 2px 0px 2px;
background: none; background: none;
border-style:none; border-style:none;
box-shadow: none; box-shadow: none;
} }
window { window {
-GtkWidget-direction: bottom; -GtkWidget-direction: top;
background-color: rgba(0,0,0,0.6); background-color: rgba(0,0,0,0.6);
border-color: rgba(0,0,0,0.3); border-color: rgba(0,0,0,0.3);
} }
@ -77,7 +139,7 @@ button#taskbar_normal grid {
margin-right: 0px; margin-right: 0px;
} }
button#taskbar_normal image, button#taskbar_active image, button#taskbar_normal:hover image { button#launcher image, button#taskbar_normal image, button#taskbar_active image, button#taskbar_normal:hover image {
-GtkWidget-vexpand: true; -GtkWidget-vexpand: true;
box-shadow: none; box-shadow: none;
border: none; border: none;
@ -103,21 +165,23 @@ button#taskbar_normal , button#taskbar_active , button#taskbar_normal:hover {
padding-top: 0.5mm; padding-top: 0.5mm;
padding-bottom: 0.5mm; padding-bottom: 0.5mm;
background-image: none; background-image: none;
border-radius: 4px; border-radius: 0;
border-image: none; border-image: none;
-GtkWidget-hexpand: false; -GtkWidget-hexpand: false;
-GtkWidget-vexpand: true; -GtkWidget-vexpand: true;
background-color: rgba(119,119,119,0.2); background-color: rgba(119,119,119,0.2);
border-color: rgba(119,119,119,0.3); border: none;
/*border-color: rgba(119,119,119,0.3);*/
box-shadow: none; box-shadow: none;
} }
button#taskbar_active { button#taskbar_active {
background-color: rgba(255,255,255,0.2); /* background-color: rgba(255,255,255,0.2);
border-color: rgba(255,255,255,0.4); border-color: rgba(255,255,255,0.4); */
border-bottom:3px solid #116cd6;
} }
/* button#taskbar_active:hover*/
button#taskbar_normal:hover , button#taskbar_active:hover { button#taskbar_normal:hover {
background-color: rgba(176,176,176,0.22); background-color: rgba(176,176,176,0.22);
border-color: rgba(234,234,234,0.44); border-color: rgba(234,234,234,0.44);
} }

View File

@ -10,7 +10,7 @@ DEPENDS = "gtk+3 gtk-layer-shell json-c wayland-native"
SRCREV = "${AUTOREV}" SRCREV = "${AUTOREV}"
SRC_URI = "git://github.com/LBCrion/sfwbar.git;protocol=https;branch=main" SRC_URI = "git://github.com/LBCrion/sfwbar.git;protocol=https;branch=main"
SRC_URI += " file://sfwbar.config " SRC_URI += " file://sfwbar.config file://icon.svg "
S="${WORKDIR}/git" S="${WORKDIR}/git"
@ -21,6 +21,13 @@ EXTRA_OEMESON += "--buildtype release"
do_install:append () { do_install:append () {
install -d ${D}/${sysconfdir}/sfwbar/ install -d ${D}/${sysconfdir}/sfwbar/
install -m 0755 ${WORKDIR}/sfwbar.config ${D}/${sysconfdir}/sfwbar/ install -m 0755 ${WORKDIR}/sfwbar.config ${D}/${sysconfdir}/sfwbar/
install -d ${D}/usr/share
install -d ${D}/usr/share/icons
install -d ${D}/usr/share/icons/hicolor
install -d ${D}/usr/share/icons/hicolor/scalable
install -d ${D}/usr/share/icons/hicolor/scalable/actions/
install -m 0755 ${WORKDIR}/icon.svg ${D}/usr/share/icons/hicolor/scalable/actions/show-desktop.svg
} }
FILES:${PN} += "/usr/share/icons/*" FILES:${PN} += "/usr/share/icons/*"

View File

@ -0,0 +1,320 @@
# Default config for tofi
#
# Copy this file to ~/.config/tofi/config and get customising!
#
# A complete reference of available options can be found in `man 5 tofi`.
#
### Fonts
#
# Font to use, either a path to a font file or a name.
#
# If a path is given, tofi will startup much quicker, but any
# characters not in the chosen font will fail to render.
#
# Otherwise, fonts are interpreted in Pango format.
font = "Sans"
# Point size of text.
font-size = 24
# Comma separated list of OpenType font feature settings to apply,
# if supported by the chosen font. The format is similar to the CSS
# "font-feature-settings" property.
#
# Examples:
#
# font-features = "smcp, c2sc" (all small caps)
# font-features = "liga 0" (disable ligatures)
font-features = ""
# Comma separated list of OpenType font variation settings to apply
# to variable fonts. The format is similar to the CSS
# "font-variation-settings" property.
#
# Examples:
#
# font-variations = "wght 900" (Extra bold)
# font-variations = "wdth 25, slnt -10" (Narrow and slanted)
font-variations = ""
# Perform font hinting. Only applies when a path to a font has been
# specified via `font`. Disabling font hinting speeds up text
# rendering appreciably, but will likely look poor at small font pixel
# sizes.
hint-font = true
#
### Text theming
#
# Default text color
#
# All text defaults to this color if not otherwise specified.
text-color = #FFFFFF
# All pieces of text have the same theming attributes available:
#
# *-color
# Foreground color
#
# *-background
# Background color
#
# *-background-padding
# Background padding in pixels (comma-delimited, CSS-style list).
# See "DIRECTIONAL VALUES" under `man 5 tofi` for more info.
#
# *-background-corner-radius
# Radius of background box corners in pixels
# Prompt text theme
# prompt-color = #FFFFFF
prompt-background = #00000000
prompt-background-padding = 0
prompt-background-corner-radius = 0
# Placeholder text theme
placeholder-color = #FFFFFFA8
placeholder-background = #00000000
placeholder-background-padding = 0
placeholder-background-corner-radius = 0
# Input text theme
# input-color = #FFFFFF
input-background = #00000000
input-background-padding = 0
input-background-corner-radius = 0
# Default result text theme
# default-result-color = #FFFFFF
default-result-background = #00000000
default-result-background-padding = 0
default-result-background-corner-radius = 0
# Alternate (even-numbered) result text theme
#
# If unspecified, these all default to the corresponding
# default-result-* attribute.
#
# alternate-result-color = #FFFFFF
# alternate-result-background = #00000000
# alternate-result-background-padding = 0
# alternate-result-background-corner-radius = 0
# Selection text
selection-color = #F92672
selection-background = #00000000
selection-background-padding = 0
selection-background-corner-radius = 0
# Matching portion of selection text
selection-match-color = #00000000
#
### Text cursor theme
#
# Style of the optional text cursor.
#
# Supported values: bar, block, underscore
text-cursor-style = bar
# Color of the text cursor
#
# If unspecified, defaults to the same as input-color
# text-cursor-color = #FFFFFF
# Color of text behind the text cursor when text-cursor-style = block
#
# If unspecified, defaults to the same as background-color
# text-cursor-background = #000000
# Corner radius of the text cursor
text-cursor-corner-radius = 0
# Thickness of the bar and underscore text cursors.
#
# If unspecified, defaults to a font-dependent value when
# text-cursor-style = underscore, or to 2 otherwise.
# text-cursor-thickness = 2
#
### Text layout
#
# Prompt to display.
prompt-text = "run: "
# Extra horizontal padding between prompt and input.
prompt-padding = 0
# Placeholder input text.
placeholder-text = ""
# Maximum number of results to display.
# If 0, tofi will draw as many results as it can fit in the window.
num-results = 0
# Spacing between results in pixels. Can be negative.
result-spacing = 0
# List results horizontally.
horizontal = false
# Minimum width of input in horizontal mode.
min-input-width = 0
#
### Window theming
#
# Width and height of the window. Can be pixels or a percentage.
width = 640
height = 480
# Window background color
background-color = #1B1D1E
# Width of the border outlines in pixels.
outline-width = 4
# Border outline color
outline-color = #080800
# Width of the border in pixels.
border-width = 12
# Border color
border-color = #F92672
# Radius of window corners in pixels.
corner-radius = 0
# Padding between borders and text. Can be pixels or a percentage.
padding-top = 8
padding-bottom = 8
padding-left = 8
padding-right = 8
# Whether to clip text drawing to be within the specified padding. This
# is mostly important for allowing text to be inset from the border,
# while still allowing text backgrounds to reach right to the edge.
clip-to-padding = true
# Whether to scale the window by the output's scale factor.
scale = true
#
### Window positioning
#
# The name of the output to appear on. An empty string will use the
# default output chosen by the compositor.
output = ""
# Location on screen to anchor the window to.
#
# Supported values: top-left, top, top-right, right, bottom-right,
# bottom, bottom-left, left, center.
anchor = center
# Set the size of the exclusive zone.
#
# A value of -1 means ignore exclusive zones completely.
# A value of 0 will move tofi out of the way of other windows' zones.
# A value greater than 0 will set that much space as an exclusive zone.
#
# Values greater than 0 are only meaningful when tofi is anchored to a
# single edge.
exclusive-zone = -1
# Window offset from edge of screen. Only has an effect when anchored
# to the relevant edge. Can be pixels or a percentage.
margin-top = 0
margin-bottom = 0
margin-left = 0
margin-right = 0
#
### Behaviour
#
# Hide the mouse cursor.
hide-cursor = true
# Show a text cursor in the input field.
text-cursor = true
# Sort results by number of usages in run and drun modes.
history = true
# Specify an alternate file to read and store history information
# from / to. This shouldn't normally be needed, and is intended to
# facilitate the creation of custom modes.
# history-file = /path/to/histfile
# Select the matching algorithm used. If normal, substring matching is
# used, weighted to favour matches closer to the beginning of the
# string. If prefix, only substrings at the beginning of the string are
# matched. If fuzzy, searching is performed via a simple fuzzy matching
# algorithm.
#
# Supported values: normal, prefix, fuzzy
matching-algorithm = normal
# If true, require a match to allow a selection to be made. If false,
# making a selection with no matches will print input to stdout.
# In drun mode, this is always true.
require-match = true
# If true, automatically accept a result if it is the only one
# remaining. If there's only one result on startup, window creation is
# skipped altogether.
auto-accept-single = false
# If true, typed input will be hidden, and what is displayed (if
# anything) is determined by the hidden-character option.
hide-input = false
# Replace displayed input characters with a character. If the empty
# string is given, input will be completely hidden.
# This option only has an effect when hide-input is set to true.
hidden-character = "*"
# If true, use physical keys for shortcuts, regardless of the current
# keyboard layout. If false, use the current layout's keys.
physical-keybindings = true
# Instead of printing the selected entry, print the 1-based index of
# the selection. This option has no effect in run or drun mode. If
# require-match is set to false, non-matching input will still result
# in the input being printed.
print-index = false
# If true, directly launch applications on selection when in drun mode.
# Otherwise, just print the command line to stdout.
drun-launch = false
# The terminal to run terminal programs in when in drun mode.
# This option has no effect if drun-launch is set to true.
# Defaults to the value of the TERMINAL environment variable.
terminal = foot
# Delay keyboard initialisation until after the first draw to screen.
# This option is experimental, and will cause tofi to miss keypresses
# for a short time after launch. The only reason to use this option is
# performance on slow systems.
late-keyboard-init = false
# If true, allow multiple simultaneous processes.
# If false, create a lock file on startup to prevent multiple instances
# from running simultaneously.
multi-instance = false
# Assume input is plain ASCII, and disable some Unicode handling
# functions. This is faster, but means e.g. a search for "e" will not
# match "é".
ascii-input = false
#
### Inclusion
#
# Configs can be split between multiple files, and then included
# within each other.
# include = /path/to/config

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" id="menu-alt-2" data-name="Line Color" xmlns="http://www.w3.org/2000/svg" class="icon line-color"><path id="secondary" d="M21,3H14v7h7ZM10,14H3v7h7Z" style="fill: none; stroke: rgb(44, 169, 188); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></path><path id="primary" d="M10,10H3V3h7Zm11,4H14v7h7Z" style="fill: none; stroke: rgb(0, 0, 0); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></path></svg>

After

Width:  |  Height:  |  Size: 625 B

View File

@ -0,0 +1,33 @@
DESCRIPTION = "tofi menu for wayland"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
DEPENDS = "wayland wayland-native wayland-protocols"
SRCREV = "${AUTOREV}"
SRC_URI = "git://github.com/philj56/tofi.git;protocol=https;branch=master"
SRC_URI += " file://icon.svg file://config "
S="${WORKDIR}/git"
inherit meson pkgconfig
EXTRA_OEMESON += "--buildtype release"
do_install:append () {
install -d ${D}/usr/share
install -d ${D}/usr/share/icons
install -d ${D}/usr/share/icons/hicolor
install -d ${D}/usr/share/icons/hicolor/scalable
install -d ${D}/usr/share/icons/hicolor/scalable/apps
install -m 0755 ${WORKDIR}/icon.svg ${D}/usr/share/icons/hicolor/scalable/apps/tofi.svg
# replace the default config
install -m 0755 ${WORKDIR}/config ${D}/${sysconfdir}/xdg/tofi/
}
# FILES:${PN} += "/usr/share/icons/*"