mirror of
https://github.com/unclebob/more-speech.git
synced 2024-09-30 02:21:02 +00:00
Don't redraw frame unless new name/contact/zap/reaction data has arrived.
This commit is contained in:
parent
5ee857b1fe
commit
cd3455d723
@ -22,7 +22,7 @@
|
||||
|
||||
(def subscription-id-base "ms")
|
||||
|
||||
(def auto-thanks :dm) ;{:dm :note :off}
|
||||
(def auto-thanks :off) ;{:dm :note :off}
|
||||
(def auto-thanks-fortune :normal) ;{:off :normal :markov :insane}
|
||||
|
||||
(def test-run? (atom false))
|
||||
|
@ -27,6 +27,7 @@
|
||||
[pubkey contacts]))
|
||||
|
||||
(defn process-contact-list [db event]
|
||||
(set-mem :refresh-main-window true)
|
||||
(let [[pubkey contacts] (unpack-contact-list-event event)]
|
||||
(when (seq contacts)
|
||||
(gateway/add-contacts db pubkey contacts))))
|
||||
|
@ -38,6 +38,7 @@
|
||||
(recur pubkey (str name (inc (rand-int max))) (* 10 max))))))
|
||||
|
||||
(defn process-name-event [db {:keys [_id pubkey created-at _kind _tags content _sig] :as event}]
|
||||
(set-mem :refresh-main-window true)
|
||||
(try
|
||||
(let [profile (json/read-str content)
|
||||
name (get profile "name")
|
||||
@ -111,6 +112,7 @@
|
||||
target-id (unhexify (second last-e-tag))
|
||||
reactor (:pubkey event)]
|
||||
(when (gateway/event-exists? db target-id)
|
||||
(set-mem :refresh-main-window true)
|
||||
(gateway/add-reaction db target-id reactor content)))
|
||||
(catch Exception _e))
|
||||
)
|
||||
|
@ -353,6 +353,7 @@
|
||||
(let [{:keys [id amount comment]} transaction
|
||||
sats (/ amount 1000)]
|
||||
(log-pr 2 'got-zap-receipt (util/hexify id) sats 'sats comment)
|
||||
(set-mem :refresh-main-window true)
|
||||
(gateway/add-zap-to-event (get-db)
|
||||
id {:lnurl receipt-invoice
|
||||
:created-at (util/get-now)
|
||||
|
@ -136,27 +136,30 @@
|
||||
([event]
|
||||
(format-header event :long))
|
||||
|
||||
([{:keys [pubkey created-at tags zaps] :as event} opt]
|
||||
(if (nil? event)
|
||||
"nil"
|
||||
(let [format-spec (if (= opt :long)
|
||||
"%s%s %20s %s %s%s%s\n"
|
||||
"%s%s %s %s %s%s%s")
|
||||
content (replace-references event)
|
||||
content (replace-nostr-references content)
|
||||
name (format-user-id pubkey)
|
||||
time (format-time created-at)
|
||||
subject (get-subject tags)
|
||||
[reply-id _ _] (events/get-references event)
|
||||
reply-mark (if (some? reply-id) "^" " ")
|
||||
dm-mark (if (= 4 (:kind event)) (make-dm-mark event) "")
|
||||
zap-mark (if (some? zaps) "❗⚡ " "")
|
||||
reaction-mark (make-reaction-mark event)
|
||||
header-text (-> content (string/replace \newline \~) (abbreviate 130))
|
||||
content (if (empty? subject)
|
||||
header-text
|
||||
(abbreviate (str subject "|" header-text) 130))]
|
||||
(format format-spec reply-mark reaction-mark name time zap-mark dm-mark content)))))
|
||||
([{:keys [pubkey created-at content tags zaps] :as event} opt]
|
||||
(try
|
||||
(if (nil? event)
|
||||
"nil"
|
||||
(let [format-spec (if (= opt :long)
|
||||
"%s%s %20s %s %s%s%s\n"
|
||||
"%s%s %s %s %s%s%s")
|
||||
content (replace-references event)
|
||||
content (replace-nostr-references content)
|
||||
name (format-user-id pubkey)
|
||||
time (format-time created-at)
|
||||
subject (get-subject tags)
|
||||
[reply-id _ _] (events/get-references event)
|
||||
reply-mark (if (some? reply-id) "^" " ")
|
||||
dm-mark (if (= 4 (:kind event)) (make-dm-mark event) "")
|
||||
zap-mark (if (some? zaps) "❗⚡ " "")
|
||||
reaction-mark (make-reaction-mark event)
|
||||
header-text (-> content (string/replace \newline \~) (abbreviate 130))
|
||||
content (if (empty? subject)
|
||||
header-text
|
||||
(abbreviate (str subject "|" header-text) 130))]
|
||||
(format format-spec reply-mark reaction-mark name time zap-mark dm-mark content)))
|
||||
(catch Exception e
|
||||
(log-pr 1 'format-header 'Exception (.getMessage e))))))
|
||||
|
||||
(defn make-cc-list [event]
|
||||
(let [p-tags (events/get-tag event :p)
|
||||
|
@ -13,8 +13,8 @@
|
||||
[more-speech.ui.swing.relay-manager :as relay-manager]
|
||||
[more-speech.ui.swing.stats-window :as stats-window]
|
||||
[more-speech.ui.swing.tabs :as tabs]
|
||||
[more-speech.ui.swing.users-window :as users-window]
|
||||
[more-speech.ui.swing.tabs-window :as tabs-window])
|
||||
[more-speech.ui.swing.tabs-window :as tabs-window]
|
||||
[more-speech.ui.swing.users-window :as users-window])
|
||||
(:use (seesaw [core]))
|
||||
(:import (java.util Timer TimerTask)))
|
||||
|
||||
@ -43,8 +43,8 @@
|
||||
:handler profile-window/make-profile-frame)
|
||||
:id :profile-menu)
|
||||
tabs-item (menu-item :action (action :name "Tabs..."
|
||||
:handler tabs-window/make-tabs-window)
|
||||
:id :tabs-menu)
|
||||
:handler tabs-window/make-tabs-window)
|
||||
:id :tabs-menu)
|
||||
manage-menu (menu :text "Manage" :items [relays-item stats-item users-item profile-item tabs-item])
|
||||
menu-bar (menubar :items [manage-menu])]
|
||||
menu-bar))
|
||||
@ -81,8 +81,10 @@
|
||||
(defn repaint-main-window []
|
||||
(let [frame (get-mem :frame)]
|
||||
(when (some? frame)
|
||||
(invoke-later (repaint! frame)))
|
||||
))
|
||||
(when (get-mem :refresh-main-window)
|
||||
(set-mem :refresh-main-window false)
|
||||
(invoke-later (repaint! frame))
|
||||
))))
|
||||
|
||||
(defn setup-main-timer []
|
||||
(let [main-timer (Timer. "main timer")
|
||||
@ -97,7 +99,7 @@
|
||||
prune-tabs-task
|
||||
(long prune-tabs-frequency)
|
||||
(long prune-tabs-frequency))
|
||||
(.schedule main-timer repaint-task 1000 1000)
|
||||
(.schedule main-timer repaint-task 3000 3000)
|
||||
(.schedule main-timer reload-article-task 1000 1000)))
|
||||
|
||||
(defn setup-main-window []
|
||||
|
Loading…
Reference in New Issue
Block a user