diff --git a/.direnv/bin/nix-direnv-reload b/.direnv/bin/nix-direnv-reload
index be817d8..f63b15c 100755
--- a/.direnv/bin/nix-direnv-reload
+++ b/.direnv/bin/nix-direnv-reload
@@ -1,19 +1,19 @@
#!/usr/bin/env bash
set -e
-if [[ ! -d "/mnt/removable/Projects/Rust/floating-calculator" ]]; then
+if [[ ! -d "/home/maxag/Projects/Rust/floating-calculator" ]]; then
echo "Cannot find source directory; Did you move it?"
- echo "(Looking for "/mnt/removable/Projects/Rust/floating-calculator")"
+ echo "(Looking for "/home/maxag/Projects/Rust/floating-calculator")"
echo 'Cannot force reload with this script - use "direnv reload" manually and then try again'
exit 1
fi
# rebuild the cache forcefully
-_nix_direnv_force_reload=1 direnv exec "/mnt/removable/Projects/Rust/floating-calculator" true
+_nix_direnv_force_reload=1 direnv exec "/home/maxag/Projects/Rust/floating-calculator" true
# Update the mtime for .envrc.
# This will cause direnv to reload again - but without re-building.
-touch "/mnt/removable/Projects/Rust/floating-calculator/.envrc"
+touch "/home/maxag/Projects/Rust/floating-calculator/.envrc"
# Also update the timestamp of whatever profile_rc we have.
# This makes sure that we know we are up to date.
-touch -r "/mnt/removable/Projects/Rust/floating-calculator/.envrc" "/mnt/removable/Projects/Rust/floating-calculator/.direnv"/*.rc
+touch -r "/home/maxag/Projects/Rust/floating-calculator/.envrc" "/home/maxag/Projects/Rust/floating-calculator/.direnv"/*.rc
diff --git a/.direnv/flake-inputs/a4780bxfsf30qy5r6mwsg1crhbir9zp6-source b/.direnv/flake-inputs/a4780bxfsf30qy5r6mwsg1crhbir9zp6-source
new file mode 120000
index 0000000..15b5fd1
--- /dev/null
+++ b/.direnv/flake-inputs/a4780bxfsf30qy5r6mwsg1crhbir9zp6-source
@@ -0,0 +1 @@
+/nix/store/a4780bxfsf30qy5r6mwsg1crhbir9zp6-source
\ No newline at end of file
diff --git a/.direnv/flake-inputs/kcr4344gjcn3bapm00x8mj1lcbq5ad0d-source b/.direnv/flake-inputs/kcr4344gjcn3bapm00x8mj1lcbq5ad0d-source
deleted file mode 120000
index 7a82a67..0000000
--- a/.direnv/flake-inputs/kcr4344gjcn3bapm00x8mj1lcbq5ad0d-source
+++ /dev/null
@@ -1 +0,0 @@
-/nix/store/kcr4344gjcn3bapm00x8mj1lcbq5ad0d-source
\ No newline at end of file
diff --git a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc
index 5652bb6..40a0d9a 100644
--- a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc
+++ b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc
@@ -47,7 +47,7 @@ NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1'
export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu
NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu='1'
export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu
-NIX_BUILD_CORES='16'
+NIX_BUILD_CORES='12'
export NIX_BUILD_CORES
NIX_CC='/nix/store/a245z3cvf9x9sn0xlk6k8j9xhxbhda1z-gcc-wrapper-15.2.0'
export NIX_CC
@@ -65,7 +65,7 @@ NIX_ENFORCE_NO_NATIVE='1'
export NIX_ENFORCE_NO_NATIVE
NIX_HARDENING_ENABLE='bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs'
export NIX_HARDENING_ENABLE
-NIX_LDFLAGS='-rpath /mnt/removable/Projects/Rust/floating-calculator/outputs/out/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib'
+NIX_LDFLAGS='-rpath /home/maxag/Projects/Rust/floating-calculator/outputs/out/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib'
export NIX_LDFLAGS
NIX_LDFLAGS_FOR_TARGET=' -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib'
export NIX_LDFLAGS_FOR_TARGET
@@ -187,7 +187,7 @@ name='nix-shell-env'
export name
nativeBuildInputs=''
export nativeBuildInputs
-out='/mnt/removable/Projects/Rust/floating-calculator/outputs/out'
+out='/home/maxag/Projects/Rust/floating-calculator/outputs/out'
export out
outputBin='out'
outputDev='out'
@@ -220,7 +220,7 @@ declare -a preFixupHooks=('_moveToShare' '_multioutDocs' '_multioutDevs' )
preInstallPhases=' glibPreInstallPhase'
preferLocalBuild='1'
export preferLocalBuild
-prefix='/mnt/removable/Projects/Rust/floating-calculator/outputs/out'
+prefix='/home/maxag/Projects/Rust/floating-calculator/outputs/out'
declare -a propagatedBuildDepFiles=('propagated-build-build-deps' 'propagated-native-build-inputs' 'propagated-build-target-deps' )
propagatedBuildInputs=''
export propagatedBuildInputs
diff --git a/.qtcreator/project.json b/.qtcreator/project.json
deleted file mode 100644
index d9860ad..0000000
--- a/.qtcreator/project.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "$schema": "https://download.qt.io/official_releases/qtcreator/latest/installer_source/jsonschemas/project.json",
- "build.configuration": [
- {
- "name": "cargo build",
- "steps": [
- {
- "arguments": [
- "build"
- ],
- "executable": "cargo",
- "workingDirectory": "%{ActiveProject:ProjectDirectory}"
- }
- ]
- }
- ],
- "files.exclude": [
- ".qtcreator/project.json.user"
- ],
- "targets": [
- {
- "arguments": [
- "run"
- ],
- "executable": "cargo",
- "name": "cargo run",
- "workingDirectory": "%{ActiveProject:ProjectDirectory}"
- }
- ]
-}
diff --git a/.qtcreator/project.json.user b/.qtcreator/project.json.user
deleted file mode 100644
index 4af5fea..0000000
--- a/.qtcreator/project.json.user
+++ /dev/null
@@ -1,223 +0,0 @@
-
-
-
-
-
- EnvironmentId
- {5d8e8680-89de-4c24-ba30-601d18fb330e}
-
-
- ProjectExplorer.Project.ActiveTarget
- 0
-
-
- ProjectExplorer.Project.EditorSettings
-
- true
- true
- true
-
- Cpp
-
- CppGlobal
-
-
-
- QmlJS
-
- QmlJSGlobal
-
-
- 2
- UTF-8
- false
- 4
- false
- 0
- 80
- true
- true
- 1
- 0
- false
- true
- false
- 2
- true
- true
- 0
- 8
- true
- false
- 1
- true
- true
- true
- *.md, *.MD, Makefile
- false
- true
- true
-
-
-
- ProjectExplorer.Project.PluginSettings
-
-
- true
- false
- true
- true
- true
- true
-
- false
-
-
- 0
- true
-
- true
- true
- Builtin.DefaultTidyAndClazy
- 8
- true
-
-
-
- true
-
- 0
-
-
-
- ProjectExplorer.Project.Target.0
-
- Desktop
- true
- Desktop
- Desktop
- {b8a5a6e7-b294-43dc-8d9b-fbedef43caf2}
- 0
- 0
- 0
-
- /mnt/removable/Projects/Rust/floating-calculator
-
-
- true
- build
- cargo
- %{ActiveProject:ProjectDirectory}
- /mnt/removable/Projects/Rust/floating-calculator
- ProjectExplorer.ProcessStep
-
- 1
- Build
- Build
- ProjectExplorer.BuildSteps.Build
-
-
- 0
- Clean
- Clean
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- false
-
- cargo build
- WorkspaceProject.BuildConfiguration
- 0
- 0
-
-
- 0
- Deploy
- Deploy
- ProjectExplorer.BuildSteps.Deploy
-
- 1
-
- false
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
- true
- true
- 0
- true
-
- -e cpu-cycles --call-graph dwarf,4096 -F 250
- cargo run
- WorkspaceProject.RunConfiguration:
- cargo run1
- false
-
- true
- true
- run
- cargo
- %{ActiveProject:ProjectDirectory}
-
- 1
-
- true
- cargo build
-
-
-
- build
-
- cargo
- %{ActiveProject:ProjectDirectory}
-
-
-
-
- 1
-
-
- 0
- Deploy
- Deploy
- ProjectExplorer.BuildSteps.Deploy
-
- 1
-
- false
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
- true
- true
- 0
- true
-
- -e cpu-cycles --call-graph dwarf,4096 -F 250
- cargo run
- WorkspaceProject.RunConfiguration:
- cargo run1
- false
-
- true
- true
- run
- cargo
- %{ActiveProject:ProjectDirectory}
-
- 1
-
-
-
- ProjectExplorer.Project.TargetCount
- 1
-
-
- Version
- 22
-
-
diff --git a/src/main.rs b/src/main.rs
index dee3c82..ab20915 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,5 +1,6 @@
-use iced::widget::{Column, Container, Id, TextInput, container, operation, stack, text};
-use iced::{Color, Element, Event, Task as Command};
+use iced::widget::{Column, Id, TextInput, column, container, operation, text, text_input};
+use iced::{Background, Color, Element, Event, Task as Command};
+use iced::{Border, color};
use iced_layershell::application;
use iced_layershell::reexport::Anchor;
use iced_layershell::settings::{LayerShellSettings, Settings, StartMode};
@@ -131,39 +132,48 @@ fn update(state: &mut State, message: Message) -> Command {
}
}
-fn view(state: &State) -> Container<'_, Message> {
+fn view(state: &State) -> Element<'_, Message> {
let input: TextInput<'_, Message> =
TextInput::new("Type something here...", &state.current_message)
.on_input(Message::TextInput)
.on_submit(Message::TextSubmit)
.id(state.input_id.clone());
+ let input = input.style(|_theme, _status| text_input::Style {
+ background: Background::Color(Color::TRANSPARENT),
+ border: Border::default(),
+ icon: Color::TRANSPARENT,
+ placeholder: color!(0xbbbbbb),
+ value: Color::WHITE,
+ selection: color!(0x0000ff),
+ });
+
let content = Column::with_children(
std::iter::once(input.into())
- .chain(
- state
- .history
- .iter()
- .rev()
- .map(|msg| text!("{}", msg.output).into()),
- )
+ .chain(state.history.iter().rev().map(|msg| {
+ column![
+ text!("{}", msg.promt).size(12).color(color!(0x999999)),
+ text!(" {}", msg.output)
+ ]
+ .into()
+ }))
.collect::>>(),
);
- let bg = container(iced::widget::Space::new())
+ container(content)
.width(iced::Length::Fill)
.height(iced::Length::Fill)
+ .padding(8.)
.style(|_theme| container::Style {
+ text_color: Some(Color::WHITE),
background: Some(iced::Background::Color(Color::from_rgba8(30, 30, 46, 0.75))),
+ border: iced::Border::default()
+ .rounded(15.)
+ .color(color!(0xaaaaff))
+ .width(2.),
..Default::default()
- });
-
- let layered = stack![bg, content];
-
- container(layered).style(|_theme| container::Style {
- text_color: Some(Color::WHITE),
- ..Default::default()
- })
+ })
+ .into()
}
fn style(_state: &State, theme: &iced::Theme) -> iced::theme::Style {